三种方法计算黄金分割数-java代码

本文介绍了三种计算黄金分割数的方法,包括普通的模拟除法、利用黄金分割数公式特性的分数合并方式以及通过斐波拉契数列计算。通过对比,展示了数学算法在性能优化上的重要性。
摘要由CSDN通过智能技术生成

最近有一好友,是个大学生,在参加学校的数学算法大赛,内容就是黄金分割数精确到100位,然后我用了三种方式来算这个题:

第一种,最普通的模拟除法算题:

        Long t1=new Date().getTime();
        BigDecimal b1 = new BigDecimal(1);//初次参数分母
        BigDecimal b2 = new BigDecimal(1);//不变的分子
        List<BigDecimal> BD=new ArrayList<BigDecimal>();
        BD.add(b1);
        for(int i=0;i<10000;i++){//多次执行,使结果更精确
            //将 (1+1/1) 当作一个对象存到一个集合,每次循环都执行1+(1/上次的对象),然后将这个结果转成新的对象放到集合中
            BD.add(b2.divide(((BD.get(BD.size()-1)).divide(b2)).add(b2),110,BigDecimal.ROUND_DOWN));
        }
        System.out<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值