首页 > 解决方案 > 返回给定索引的值作为斐波那契数列的输入

问题描述

所以鉴于此。

//Fibonacci Series using Recursion
class fibonacci
{
    static int fib(int n)
    {
    if (n <= 1)
    return n;
    return fib(n-1) + fib(n-2);
    }

    public static void main (String args[])
    {
    int n = 10;
    System.out.println(fib(n));
    }
}

我该如何转换它,以便将索引作为参数并在该索引处返回给定的斐波那契数?所以说我输入 index = 5 它应该返回 8。

标签: javafibonacci

解决方案


int main(){
int index, temp1 = 0, temp2 = 1, value_at_index = 0;
    printf("Enter index: ");
    scanf("%d",&index);
    if(index==1){
       printf("Fib value at index 1 = 1");
    }
    else{
        for (int i = 2; i <= index; ++i){
              value_at_index = temp1 + temp2;
              temp1 = temp2;
              temp2 = value_at_index;
        }
       printf("Fib value at index %d = ", index);
       printf("%d\n", value_at_index);
       return 0;
    }
}

推荐阅读