【答案】:0.6180339887498948482045868343656381177203091798057628621354486227052604628189024497072072041893911375
- 识别问题 --> 斐波那契的第n项与第n+1项的比值
- n要多少才够 --> 精度
- 处理大整数、大浮点数
- +:add()
- -:subtract()
- *:multiply()
- ÷:divide()
- %:reminder()、mod()
- 幂:xxx.pow(xxx)
- 比较:compareTo()
- 四舍五入:round()
1 1/(1+1) 1/(1+1/(1+1)) …
1 1/2 2/3 3/5 5/8 8/13 …
import java.math.BigDecimal;
import java.math.BigInteger;
public class TEST {public static void main(String[] args) {BigInteger a = BigInteger.ONE;BigInteger b = BigInteger.ONE;// 斐波那契的迭代形式for (int i = 3; i < 500; i++) { // 200 300 400 500BigInteger t = b;b = a.add(b); // 大整数加法a = t;}// new BigDecimal(a, 110) 将整数转为BigDecimal 指定一个精确度 【长度 110】 0.xxx 小数点后100位BigDecimal divide = new BigDecimal(a, 110).divide(new BigDecimal(b, 110), BigDecimal.ROUND_HALF_DOWN);// ROUND_HALF_DOWN:五舍六入 ;ROUND_HALF_UP:四舍五入 System.out.println(divide.toPlainString().substring(0, 103)); // [0, 102] 共103个字符 字符串分割(截取)// 标准输出:toPlainString() 与 toString() 用法相似
// System.out.println("abcde".subSequence(0, 3)); //abc [start, end-1]
// System.out.println("abcde".substring(0, 3)); //abc [start, end-1]}}
1 1 2 3 5 8 13 21 34 55 … 斐波那契数列
答案:相邻的两项斐波那契数列之比。