A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© wangyafeng1990 中级黑马   /  2013-10-20 18:38  /  1381 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

比较简单的一种是用连分数:

                  1
    黄金数 = ---------------------
                        1
             1 + -----------------
                          1
                 1 + -------------
                            1
                     1 + ---------
                          1 + ...

                           

    这个连分数计算的“层数”越多,它的值越接近黄金分割数。

  求出黄金分割数的足够精确值,要求四舍五入到小数点后100位。求大神解答,拜托了

评分

参与人数 1技术分 +1 收起 理由
To + 1 一分鼓励

查看全部评分

3 个回复

倒序浏览
看看,这样可以吗?
package answer5;

import java.math.BigDecimal;
import java.math.RoundingMode;

/**
* 求黄金分割点,要求四舍五入到小数点后100位。
* @author Administrator
*
*/
public class GoldPoint {
       
        //BigDecimal:不可变的、任意精度的有符号十进制数
        BigDecimal result = new BigDecimal(1);
        BigDecimal one = new BigDecimal(1);
       
        public static void main(String[] args) {
                GoldPoint g = new GoldPoint();

                int precision = 0;       
               
                for(int i = 0; i < 100; i++){
                        g.result = g.one.divide(g.result.add(g.one), 100, RoundingMode.HALF_UP);
//                        g.print();
                        precision = g.result.precision();
//                        System.out.println(precision);
                }
                g.print();
        }
       
        public void method() {
                result = one.divide(result.add(one));
                print();
                System.out.println(result.precision());
                if(result.precision() < 100)
                        method();
        }
       
        public void print(){
                System.out.println(result);
        }
}

评分

参与人数 1技术分 +1 收起 理由
李江 + 1 很给力!

查看全部评分

回复 使用道具 举报
因为第一次用这个BigDecimal的类,我是想用用method()的,结果错误很多……,让人头疼啊,你就别用了,不过可以去掉main里边的循环语句,改成method()试试,可以了解下里边的错误。main里边的循环是你说的层次。我这有什么没有符合要求的说一僧,不能让我白费了。
回复 使用道具 举报
楼主你好,如果问题已解决请将帖子状态修改为提问结束,如果未解决请继续提问,谢谢合作
如果不会修改请看解释帖:http://bbs.itheima.com/thread-89313-1-1.html
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马