顺推法是从已知条件出发,逐步推算出要解决的问题的方法;
逆推法从已知问题的结果出发,用迭代表达式逐步推算出问题的开始的条件,即顺推法的逆过程
顺推实例:斐波那契数列
void fib_0(int n)
{
int i, tmp, fn = 1, f0 = 0;
printf("%d %d ", f0, fn);
for(i = 2; i < n; i++)
{
tmp = fn;
fn = fn + f0;
f0 = tmp;
printf("%d ", fn);
}
printf("\n");
}
逆推实例:该存多少钱
父亲准备为小龙的4年大学生活一次性在银行储蓄一笔钱,使用整存零取的方式,控制小龙每月的月底只能提取1000元准备下月使用。假设银行一年整存零取的年利息为1.71%,请编程计算出父亲至少需要一次性存入多少钱才够小龙4年大学生活(4年的利息也应计算在内)。
#include<stdio.h>
void func()
{
double m = 1000;
for(int i = 1;i<48;i++)
{
m = 1000 + m/(1 + 0.017/12);
printf("第%d个月未取钱时的金额%.2f\n", 48-i, m);
}
}
int main()
{
func();
return 0;
}