A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 984326157 中级黑马   /  2015-7-5 01:44  /  899 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. /*求Fibonacci数列:1,1,2,3,5,8,13,… 的前40项。
  2. 本题来自于一个有趣的古典数学问题:有一对兔子,从出生后的第3个月起每个月都生一对兔子。小兔子长到第3个月又生一对兔子。如果生下的所有兔子都能成活,且所有的兔子都不会因年龄大而老死,问每个月的兔子总数为多少?
  3. 分析:
  4. ① 此数列的规律是第1、2项都是1,从第3项开始,都是其前两项之和,并且有固定循环次数,因此可以用for循环实现。
  5. ② 这里用到的是什么算法呢?是迭代算法。迭代算法的基本思想是:不断地用新值取代变量的旧值,或由旧值递推出变量的新值。
  6. 程序如下:
  7. */
  8. #include <stdio.h>
  9. int main()
  10. {
  11.     long int f1,f2;
  12.     int i;
  13.     f1=1;f2=1;
  14.     for(i=1;i<=20;i++)
  15.     {
  16.         printf("%12ld %12ld ",f1,f2); /*每次输出两项*/
  17.         if(i%2==0) printf("\n");
  18.         f1=f1+f2;
  19.         f2=f2+f1; /*求出两项*/
  20.     }
  21. }
复制代码

1 个回复

倒序浏览
还可以用数组!!1
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马