观察可知斐波纳契数列的规律:当前位的数是前两位之和
当然这对第一位和第二位不适用
在比赛里面有打表的说法,即将需要的数存放在一个数组里面,需要的时候再调用出来,这种以空间换时间的方法有时非常好用。
当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语言程序设计教程(第三版)课后习题6.3 (C语言代码)浏览:545 |
A+B for Input-Output Practice (V) (C++代码)浏览:477 |
回文数(一) (C语言代码)浏览:805 |
C语言程序设计教程(第三版)课后习题6.3 (C语言代码)浏览:985 |
C语言程序设计教程(第三版)课后习题6.4 (C语言代码)浏览:1070 |
C语言程序设计教程(第三版)课后习题8.1 (C语言代码)浏览:1289 |
完数 (C语言代码)浏览:741 |
C语言程序设计教程(第三版)课后习题11.1 (C语言代码)浏览:647 |
DNA (C语言描述,蓝桥杯)浏览:1646 |
Tom数 (C语言代码)浏览:516 |