JAVA:斐波那契递归和非递归函数

问题描述 投票:0回答:1

你好,很抱歉这个菜鸟问题。我是Mario,请问程序对于Fibonacci Secquence nth值的递归和非递归函数是否正确。

static int recursiveMethod(int num) 
{ 
if (num <= 1) 
   return num; 
return recursiveMethod(num-1) + recursiveMethod(num-2); 
}

static int nonRecursiveMethod(int num) { 
    if (num == 0) { 
        return 0; 
    }

    if (num == 1) {
        return 1; 
    } 
    int first = 0; 
    int second = 1; 
    int nth = 1; 
    for (int i = 2; i <= num; i++) { 
        nth = first + second;
        first = second;
        second = nth;
    } 
    return nth;
}

摘要:示例我输入6作为我的第n个值。然后输出是递归:然后8非递归:1 1 2 3 5 8

正确吗?

java recursion fibonacci
1个回答
0
投票

调用nonRecursiveMethod将产生与调用recursiveMethod相同的输出。结果是正确的,但是recursiveMethod对于大数无效,因为它会一次又一次地计算小数的结果。

© www.soinside.com 2019 - 2024. All rights reserved.