递推算法: 正推法: /** 递推法: 顺推法:斐波拉契数列 逆推法: 用迭代表达式推算 **/ // 斐波拉契数列 //每只成年兔每月可生1只小兔 //每只小兔子3个月就成熟了,可以生产 //初始只有一只小兔子 ,问年终有多少兔子 #include<stdio.h> #define NUM 13 int main(){ int fib[NUM]={1,1}; int i = 0; for(i = 2;i < 13;i++){ fib[i] = fib[i-2] + fib[i-1]; } for(i = 0;i < 13;i++){ printf("第%d,月的兔子总数为%d。/n",i,fib[i]); } getch(); return 0; } 逆推法: /** 递推法: 顺推法:斐波拉契数列 逆推法: 用迭代表达式推算 **/ //若在第48月小龙大学毕业时连本带息要取1000元 //年利息率是0.0171 //问小龙需要第一月存多少钱在银行 #include<stdio.h> #define FETCH 1000 #define TIME 48 #define RATE 0.0171 int main(){ double money[TIME] = {0.0f}; money[TIME - 1] = (double)FETCH; int i = 0; for(i = TIME - 2;i >= 0;i--){ money[i] = money[i+1]/(1 + RATE / 12); } for(i = 0;i < TIME;i++){ printf("第%d个月的余额为:%f/n",i+1,money[i]); } getch(); return 0; }