题目
菲波那挈数列:有一对兔子,从出生后第3个月起每个月都生一对兔子,
小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?并求出最终兔子的总数。(自己输入月数)
编程解析:兔子的规律为数列1,1,2,3,5,8,13,21....,即下个月是上两个月之和(从第三个月开始)。可以使用递归方法来求解每个月份的兔子数,用for循环遍历的方式来求解兔子总数。
#include<stdio.h>
int fbnq(int n)//这里用递归的方式来示例
{
if (n == 1 || n == 2)
{
return 1;
}
else
{
return fbnq(n - 1) + fbnq(n - 2);//求出每一项
}
}
int main()
{
int n;
int sum = 0;
scanf("%d", &n);
printf("斐波那契数列:");
for (int i = 1; i <= n; i++)
{
printf("%d ", fbnq(i));//从第一项开始打印每一项
sum += fbnq(i);//从第一项开始相加到第n项
}
printf("%d\n", sum);//输出前n项和
return 0;
}