问题描述如下:
“Fibonacci数列第一个长度超过3的f12=144,其下标为12,求Fibonacci数列第一个长度超过1000的数的下标?”
贴代码:
private static int getNumberByLength(int n) {
int term = 0;
BigDecimal f1 = new BigDecimal(1);
BigDecimal f0 = new BigDecimal(0);
BigDecimal fn = new BigDecimal(0);
for (int i = 2; fn.toString().length() < n; i++) {
fn = f1.add(f0);
term = i;
f0 = f1;
f1 = fn;
}
return term;
}
答案:4782
不知道用n项求和公式可不可以做,有空试试。
请不吝赐教。
@anthor ClumsyBirdZ