观察可知斐波纳契数列的规律:当前位的数是前两位之和
当然这对第一位和第二位不适用
在比赛里面有打表的说法,即将需要的数存放在一个数组里面,需要的时候再调用出来,这种以空间换时间的方法有时非常好用。
当n较小的时候我们可以把所有的值都预先写进数组里面,然后遍历这个数组就好了,不过对于40这个值还是有些大的,我们只写进特殊的前两位值,后面的由观察出的规律进行计算。
参考代码:
#include int main() { int i; int n; int p[40]={1,1}; scanf("%d",&n); for(i=0;i=2){ p[i]=p[i-1]+p[i-2]; } printf("%d ",p[i]); } return 0; }
0.0分
156 人评分
WU-输出九九乘法表 (C++代码)浏览:1724 |
C语言程序设计教程(第三版)课后习题6.2 (C语言代码)浏览:732 |
求圆的面积 (C语言代码)浏览:1729 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:635 |
核桃的数量 (C语言代码)浏览:685 |
生日日数 (C语言代码)浏览:1521 |
C语言程序设计教程(第三版)课后习题8.5 (C语言代码)浏览:676 |
C语言训练-字符串正反连接 (C语言代码)浏览:637 |
C语言程序设计教程(第三版)课后习题6.8 (C语言代码)浏览:673 |
C二级辅导-计负均正 (C语言代码)浏览:651 |