用while语句实现斐波那契数列
时间: 2023-12-04 12:39:38 浏览: 90
以下是两种使用while语句实现斐波那契数列的方法:
方法1:
```java
int num1 = 1;
int num2 = 1;
int count = 1;
System.out.print("1 1 ");
while(count <= 28){
int temp = num1;
num1 = num2;
num2 += temp;
System.out.print(num2 + " ");
count +=1;
}
```
方法2:
```java
int i = 1;
int first = 1;
int second = 1;
System.out.print("1 1 ");
while(i <= 14){
first += second;
second += first;
System.out.print(first+" "+second+" ");
i += 1;
}
```
相关问题
用递归的方法并用while语句编写斐波那契数列
递归方法实现斐波那契数列:
```python
def fibonacci_recursive(n):
if n <= 1:
return n
else:
return fibonacci_recursive(n-1) + fibonacci_recursive(n-2)
```
使用 while 语句实现斐波那契数列:
```python
def fibonacci_while(n):
a, b = 0, 1
while n > 0:
a, b = b, a + b
n -= 1
return a
```
这两种方法都可以计算斐波那契数列,但递归方法的效率较低,当计算大量的斐波那契数时会出现栈溢出的问题。使用 while 语句可以避免这个问题。
使用c语言并用递归的方法并用while语句编写斐波那契数列
以下是使用C语言和递归方式实现斐波那契数列的代码:
```c
#include <stdio.h>
int fibonacci(int n) {
if (n == 0 || n == 1) {
return n;
} else {
return fibonacci(n - 1) + fibonacci(n - 2);
}
}
int main() {
int n, i = 0;
printf("Enter a positive integer: ");
scanf("%d", &n);
printf("Fibonacci series:\n");
while (i < n) {
printf("%d ", fibonacci(i));
i++;
}
printf("\n");
return 0;
}
```
在这个代码中,`fibonacci()`函数使用递归方式计算斐波那契数列的第`n`项。如果`n`等于0或1,那么直接返回`n`。否则,递归地计算`n-1`和`n-2`的斐波那契数,并将它们相加以得到第`n`项。
在`main()`函数中,用户被要求输入要计算的斐波那契数列的项数。然后,使用`while`循环来打印出计算所得的斐波那契数列。
阅读全文