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

 时间: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怎么展开
  • 热门搜索
    十月份适合去哪里旅游 旅游服务质量 丽江旅游地图 世界旅游胜地图片 东营旅游景点大全 张家界旅游景点介绍 云南著名旅游景点 焦作旅游景点大全 旅游管理专业课程 途牛旅游网官网