你好,很抱歉这个菜鸟问题。我是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
正确吗?
调用nonRecursiveMethod将产生与调用recursiveMethod相同的输出。结果是正确的,但是recursiveMethod对于大数无效,因为它会一次又一次地计算小数的结果。