斐波那契数列求第50项Java
时间: 2024-10-09 22:04:10 浏览: 22
斐波那契数列是一个经典的数学序列,其中每个数字都是前两个数字之和,通常从0和1开始(F(0) = 0, F(1) = 1)。如果你想在Java中计算第50项,由于数值较大可能会导致整数溢出问题,可以使用长整型(long)或者大数库来处理。以下是使用递归和循环两种常见方法来计算斐波那契数列第50项的Java代码示例:
**使用递归**:
```java
public long fibonacci(int n) {
if (n <= 1)
return n;
else
return fibonacci(n - 1) + fibonacci(n - 2);
}
public static void main(String[] args) {
int nthTerm = 50;
System.out.println("The " + nthTerm + "th term of the Fibonacci sequence is: " + fibonacci(nthTerm));
}
```
**使用循环**:
```java
public long fibonacci(int n) {
if (n <= 1)
return n;
long fib = 1;
long prevFib = 1;
for (int i = 2; i < n; i++) {
long temp = fib;
fib += prevFib;
prevFib = temp;
}
return fib;
}
// 使用同上
public static void main(String[] args) {
int nthTerm = 50;
System.out.println("The " + nthTerm + "th term of the Fibonacci sequence is: " + fibonacci(nthTerm));
}
```
注意:这两种方法都不推荐用于计算较大的斐波那契数,因为递归会有很多重复计算,而循环虽然避免了重复,但是随着n的增大,效率仍然较低。
阅读全文