题目
本题是谭浩强《C程序设计课后习题》例题5.8。
题目:求斐波那契数列的前40个数,1,1,2,3,5,8,13…
以下是本篇文章正文内容,欢迎朋友们进行指正,一起探讨,共同进步。——来自考研路上的lwj
一、解题思路
思路:
使用递归实现。
1.主函数用于进行输入和输出
2.f(int n)用于计算斐波那契数列中第n个值。
规律为前两个数是1,后面每一个数等于排在该数前2位+前1位。
3.在主函数中依次遍历输出。
二、代码部分
1.引入库
代码如下(示例):
#include<stdio.h>
2.主函数部分
代码如下(示例):
int f(int n)
{
if (n == 1 || n == 2)
return 1;
else
return f(n - 1) + f(n - 2);
}
int main() {
int n,i;
printf("please put n:");
scanf("%d", &n);
for (i = 1; i <= n; i++)
{
printf("%-8d ", f(i));
if (i % 5 == 0)printf("\n");
}
return 0;
}
三、执行结果
输入:
40
输出:
1 1 2 3 5
8 13 21 34 55
89 144 233 377 610
987 1597 2584 4181 6765
10946 17711 28657 46368 75025
121393 196418 317811 514229 832040
1346269 2178309 3524578 5702887 9227465
14930352 24157817 39088169 63245986 102334155