观察可知斐波纳契数列的规律:当前位的数是前两位之和
当然这对第一位和第二位不适用
在比赛里面有打表的说法,即将需要的数存放在一个数组里面,需要的时候再调用出来,这种以空间换时间的方法有时非常好用。
当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语言代码)浏览:681 |
简单的a+b (C语言代码)浏览:714 |
【蟠桃记】 (C语言代码)浏览:673 |
三角形 (C++代码)递推浏览:776 |
链表数据求和操作 (C语言代码)浏览:966 |
【出圈】 (C++代码)简单循环浏览:657 |
C语言训练-斐波纳契数列 (C语言代码)浏览:519 |
众数问题 (C语言代码)浏览:636 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:614 |
C语言程序设计教程(第三版)课后习题6.5 (C语言代码)浏览:638 |