列数的规则如下: 1、1、2、3、5、8、13、21、34...... 求第30位数是多少, 用递归算法实现。

2025-05-24 06:29:59
推荐回答(2个)
回答(1):

这个不是斐波那契数列吗

#include

int Fibonacci(int n)
{
if( n == 1 || n == 2)
return 1;
else
return Fibonacci(n-1)+Fibonacci(n-2);
}

int main()
{
int n;

printf("please input n: ");
scanf("%d",&n);

printf("Result: %d\n",Fibonacci(n));
return 0;
}

回答(2):

public class MainClass

{

public static void Main()

{

Console.WriteLine(Foo(30));

}

public static int Foo(int i)

{

if (i <= 0)

return 0;

else if(i > 0 && i <= 2)

return 1;

else return Foo(i -1) + Foo(i - 2);

}

}