设计一个程序,算出菲波娜齐数列中,第120个位置处的值。使用[BigInteger]来做
时间: 2024-09-06 12:03:50 浏览: 34
cpp代码-菲波那切数列
设计一个计算斐波那契数列中第120个数值的程序,并使用Java中的`BigInteger`类来处理大整数,可以这样做:
```java
import java.math.BigInteger;
public class Fibonacci {
public static BigInteger fibonacci(int n) {
if (n <= 0) {
throw new IllegalArgumentException("输入的索引必须大于0");
}
// 初始化前两个斐波那契数为1
BigInteger fib1 = BigInteger.ONE;
BigInteger fib2 = BigInteger.ONE;
BigInteger fibNext;
for (int i = 3; i <= n; i++) {
fibNext = fib1.add(fib2); // 通过加法运算获取下一个数
fib1 = fib2; // 更新fib1为当前值
fib2 = fibNext; // 更新fib2为新的值
}
return fib2; // 返回第n个斐波那契数
}
public static void main(String[] args) {
int position = 120;
try {
BigInteger fib120 = fibonacci(position);
System.out.printf("斐波那契数列中第%d位的值是:%s", position, fib120);
} catch (IllegalArgumentException e) {
System.out.println(e.getMessage());
}
}
}
```
在这个程序中,我们首先检查输入的索引是否合法,然后使用循环计算斐波那契序列,每次迭代都将两个当前的数相加得到下一个数。最后,我们返回第120位的斐波那契数。
运行这个程序会输出斐波那契数列中第120个数的具体值。
阅读全文