C案例:打印斐波拉契数列

举报
howard2005 发表于 2021/12/30 01:39:35 2021/12/30
【摘要】 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、源代码

   
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. int main(int argc, char *argv[]) {
  4. int i, count = 0;
  5. long f1, f2, f3;
  6. long f[40];
  7. printf("方法一:利用简单变量进行迭代\n");
  8. f1 = 1;
  9. f2 = 1;
  10. printf("%-8d %-8d ", f1 , f2);
  11. count = 2;
  12. for (i = 1; i <= 38; i++) {
  13. f3 = f1 + f2;
  14. printf("%-8d ", f3);
  15. f1 = f2;
  16. f2 = f3;
  17. count++;
  18. if (count % 5 == 0) {
  19. printf("\n");
  20. }
  21. }
  22. printf("\n\n方法二:利用数组进行递推\n");
  23. f[0] = 1;
  24. f[1] = 1;
  25. for (i = 2; i < 40; i++) {
  26. f[i] = f[i - 2] + f[i - 1];
  27. }
  28. for (i = 0; i < 40; i++) {
  29. printf("%-8d ", f[i]);
  30. if((i + 1) % 5 == 0) {
  31. printf("\n");
  32. }
  33. }
  34. return 0;
  35. }
2、运行结果

文章来源: howard2005.blog.csdn.net,作者:howard2005,版权归原作者所有,如需转载,请联系作者。

原文链接:howard2005.blog.csdn.net/article/details/79410248

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。