求斐波那契数列的相邻两项的比值,精确到小数后三位。

未完成,只能假设知道是8和9代入。

代码如下:

package zuoye;

import java.math.BigDecimal;

/*
 * 求斐波那契数列的相邻两项的比值,精确到小数后三位。
 * p1,p2,p3......pi,pj,...求pi/pj
 * 1 1 2 3 5 8 13
 * 5/8,8/13,...收敛
 */

public class Test {
    static double feibo(int x){
        if(x==1||x==2) return 1;
        return feibo(x-1)+feibo(x-2);
    }
    public static void main(String[] args) {
        
        double ret = round(feibo(8)/feibo(9),3,BigDecimal.ROUND_HALF_UP);
        
        System.out.println(ret);
        
    }
     public static double round(double value, int scale, int roundingMode) {   
            BigDecimal bd = new BigDecimal(value);   
            bd = bd.setScale(scale, roundingMode);   
            double d = bd.doubleValue();   
            bd = null;   
            return d;   
        }   
}

运行结果:

posted @ 2017-03-16 21:16  小汛  阅读(833)  评论(0编辑  收藏  举报