观察可知斐波纳契数列的规律:当前位的数是前两位之和
当然这对第一位和第二位不适用
在比赛里面有打表的说法,即将需要的数存放在一个数组里面,需要的时候再调用出来,这种以空间换时间的方法有时非常好用。
当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++代码)浏览:1908 |
【偶数求和】 (C语言代码)记得sum的归零时机浏览:955 |
C语言程序设计教程(第三版)课后习题8.9 (C语言代码)浏览:678 |
剔除相关数 (C语言代码)浏览:1027 |
C语言训练-求s=a+aa+aaa+aaaa+aa...a的值 (C语言代码)浏览:1054 |
打水问题 (C语言代码)浏览:1108 |
输出正反三角形 (C语言代码)格式错误!!!浏览:1162 |
WU-蓝桥杯算法提高VIP-企业奖金发放 (C++代码)浏览:1196 |
WU-字符串比较 (C++代码)浏览:779 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:561 |