注意:不要把n定义为整型变量,否则在执行“t=s/n;”时,得到t的值为0(原因是两个整数相除)。
【例】求Fibonacci数列前40个数。
这个数列有如下特点:第1、2个数为1、1。从第3个数开始,每个数是其前面两个数之和。即:
- F1=1 (n=1) F2=1 (n=2)
- Fn=Fn-1+Fn-2(n≥3)
这是一个有趣的古典数学问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第3个月后每个月又生一对兔子,假设所有兔子都不死,问每个月的兔子总数为多少?
根据给出的每月兔子总数的关系,可编写程序如下:
- #include <iostream> #include <iomanip>
- using namespace std; int main( )
- { long f1,f2;
- int i; f1=f2=1;
- for(i=1;i<=20;i++) {
- cout<<setw(12)<<f1<<setw(12)<<f2; //设备输出字段宽度为12,每次输出两个数
- if(i%2==0) cout<<endl; //每输出完4个数后换行,使每行输出4个数
- f1=f1+f2; //左边的f1代表第3个数,是第1?2个数之和
- f2=f2+f1; //左边的f2代表第4个数,是第2?3个数之和
- } return 0;
- }










