C案例:打印斐波拉契数列
【摘要】
C案例:打印斐波拉契数列
斐波那契数列,又称黄金分割数列,指的是这样一个数列:0、1、1、2、3、5、8、13、21、34、……在数学上,斐波纳契数列以如下被以递归的方法定义:F(0)=0,F(1)=1,F(n)=F(n-1)+F(n-2)(n≥2,n∈N*)在现代物理、准晶体结构、化学等领域,斐波纳契数列都有直接的应...
C案例:打印斐波拉契数列
斐波那契数列,又称黄金分割数列,指的是这样一个数列:0、1、1、2、3、5、8、13、21、34、……在数学上,斐波纳契数列以如下被以递归的方法定义:F(0)=0,F(1)=1,F(n)=F(n-1)+F(n-2)(n≥2,n∈N*)在现代物理、准晶体结构、化学等领域,斐波纳契数列都有直接的应用,为此,美国数学会从1963起出版了以《斐波纳契数列季刊》为名的一份数学杂志,用于专门刊载这方面的研究成果。
任务:打印斐波拉契数列前40项,每行打印5个数。
1、源代码
-
#include <stdio.h>
-
#include <stdlib.h>
-
-
int main(int argc, char *argv[]) {
-
int i, count = 0;
-
long f1, f2, f3;
-
long f[40];
-
-
printf("方法一:利用简单变量进行迭代\n");
-
f1 = 1;
-
f2 = 1;
-
printf("%-8d %-8d ", f1 , f2);
-
count = 2;
-
-
for (i = 1; i <= 38; i++) {
-
f3 = f1 + f2;
-
printf("%-8d ", f3);
-
f1 = f2;
-
f2 = f3;
-
count++;
-
if (count % 5 == 0) {
-
printf("\n");
-
}
-
}
-
-
printf("\n\n方法二:利用数组进行递推\n");
-
-
f[0] = 1;
-
f[1] = 1;
-
-
for (i = 2; i < 40; i++) {
-
f[i] = f[i - 2] + f[i - 1];
-
}
-
-
for (i = 0; i < 40; i++) {
-
printf("%-8d ", f[i]);
-
if((i + 1) % 5 == 0) {
-
printf("\n");
-
}
-
}
-
return 0;
-
}
2、运行结果
文章来源: howard2005.blog.csdn.net,作者:howard2005,版权归原作者所有,如需转载,请联系作者。
原文链接:howard2005.blog.csdn.net/article/details/79410248
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)