观察可知斐波纳契数列的规律:当前位的数是前两位之和
当然这对第一位和第二位不适用
在比赛里面有打表的说法,即将需要的数存放在一个数组里面,需要的时候再调用出来,这种以空间换时间的方法有时非常好用。
当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 人评分
C语言训练-角谷猜想 (C++代码)(3N+1问题)浏览:1797 |
C语言程序设计教程(第三版)课后习题8.1 (C语言代码)浏览:442 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:631 |
C语言程序设计教程(第三版)课后习题7.5 (C语言代码)浏览:541 |
C语言程序设计教程(第三版)课后习题8.5 (C语言代码)浏览:588 |
1113题解浏览:800 |
关于float,double变量的几点说明浏览:1864 |
循环入门练习5 (C语言代码)浏览:868 |
演讲大赛评分 (C语言代码)浏览:1654 |
理财计划 (C语言代码)浏览:473 |