算法——递推算法例子代码

 时间:2026-02-13 04:20:56

1、public class DiTui {    public static void main(String[] args) {        int m = 6;        int sum = fibonacci(m);       System.out.println(m+"个月后共有兔子"+sum+"对。")    }        //递推算法,兔子产仔问题。    public static int fibonacci(int month){        int f1 = 1,f2 = 1;        if(month==1 || month==2){            return 1;        }else{            f1 = fibonacci(month-1);//根据已知结果和关系求解中间值,如果没                                    //有达到要求则继续通过已知结果和关系求解,逐步递推            f2 = fibonacci(month-2);            return f1+f2;        }    }

}

2、public class DiTui {    public static void main(String[] args)         int month = 48;        money(month);    }        /*这个一个关于存钱的问题,一个富二代给他儿子的四年大学生活存一笔钱,富三代每月只能取3k作为下个月的生活费,采用的是整存零取的方式,       年利率在1.71%,请问富二代需要一次性存入多少钱。       思路: 这个题目是我们知道了结果,需要逆推条件, 第48月富三代要连本带息的把3k一把取走,那么       第47月存款应为: (第48个月的存款+3000)/(1+0.0171/12(月));        第46月存款应为: (第47个月的存款+3000)/(1+0.0171/12(月));             .....                    .....        第1个月存款应为: (第2个月的存款+3000)/(1+0.0171/12(月));*/

    public static double money(int month){        double rate = 0.0171;        double f2 = 3000;        double f1 = 0;        for(int i=(month-1);i>=1;i--){            f1 = (f2+3000)/(1+rate/12);//根据已知结果和关系求解中间值,如果没有达到要求则继续通过已知结果和关系求解,逐步递推            f2 = f1;            System.out.println("第"+i+"个月本息总额:"+f2);        }        return 0;    }}

  • 海塞矩阵如何判断正定负定
  • 均匀分布怎么求概率密度
  • matlab安装完成后桌面没有图标
  • 合同标准形怎么算
  • a^n-b^n怎么展开
  • 热门搜索
    旅游景区质量等级的划分与评定 旅游文化 莆田旅游攻略 怎么打破折号 斗兽场怎么进 旅游公司排名 c2驾照可以开什么车 lol怎么亮徽章 戴氏教育怎么样 lol怎么升级快