斐波那契数列:1、1、2、3、5、8、13、21、34、……
程序实现:
1、公式:F(n) = F(n-1) + F(n-2)
2、边界条件:F(1) = 1; F(2) = 1;
int fibonacci(int n)
{
if(n == 1 ||n == 2)
{
return 1;
}
return fibonacci(n-1) + fibonacci(n-2);
}
int main(int argv, char **argc)
{
int num;
int value;
printf("Fibonacci.\n");
while(1)
{
printf("Enter the number:");
scanf("%d", &num);
if(num == 0)
{
return 0;
}
value = fibonacci(num);
printf("The value: %d\n", value);
}
}
递归编程思路:
1、确定递归公式
2、确定边界条件(递归出口)