生成斐波那契数列(0,1,1,2,3,5,8,13,21,……):while循环,for循环分别实现
时间: 2024-09-20 16:07:00 浏览: 30
生成斐波那契数列的常见做法是使用循环,下面我会分别展示使用 while 循环和 for 循环的 Python 实现。
**使用 while 循环实现:**
```python
def fibonacci_while(n):
a, b = 0, 1
fib_list = []
while len(fib_list) < n:
fib_list.append(a)
a, b = b, a + b
return fib_list
# 输出前10个斐波那契数
print(fibonacci_while(10))
```
**使用 for 循环实现:**
```python
def fibonacci_for(n):
fib_list = [0, 1]
if n <= 2:
return fib_list[:n]
for i in range(2, n):
fib_list.append(fib_list[i - 1] + fib_list[i - 2])
return fib_list
# 输出前10个斐波那契数
print(fibonacci_for(10))
```
这两个函数会生成指定长度的斐波那契数列。如果你想生成无限序列,通常会在循环中添加条件检查,因为实际应用中我们不会存储无限长的列表。
相关问题
Java生成斐波那契数列(0,1,1,2,3,5,8,13,21,……):while循环,for循环分别实现
在Java中,我们可以使用while循环和for循环来生成斐波那契数列。下面我会分别给出两个实现方法。
**While循环实现:**
```java
public class Fibonacci {
public static void main(String[] args) {
int n = 10; // 指定生成前n项
int t1 = 0, t2 = 1;
System.out.print("Fibonacci Series up to " + n + ": ");
while (n > 0) {
System.out.print(t1 + ", ");
int sum = t1 + t2;
t1 = t2;
t2 = sum;
n--;
}
}
}
```
**For循环实现:**
```java
public class Fibonacci {
public static void main(String[] args) {
int n = 10;
int[] fibSeries = new int[n];
fibSeries[0] = 0;
fibSeries[1] = 1;
for (int i = 2; i < n; i++) {
fibSeries[i] = fibSeries[i - 1] + fibSeries[i - 2];
}
System.out.println("Fibonacci Series up to " + n + ": ");
for (int num : fibSeries) {
System.out.print(num + ", ");
}
}
}
```
这两个程序都会打印出指定数量(这里是10项)的斐波那契数列。
编程产生菲波拉契数列20项,例如:0 1 1 2 3 5 8 13 21 ……
要编写一个程序生成斐波那契数列的前20项,你可以使用循环结构结合递推的方式来实现。斐波那契数列的特点是每个数字等于前两个数字之和。以下是使用Python语言的一个简单示例:
```python
def fibonacci(n):
fib_sequence = [0, 1] # 初始化序列的前两项
while len(fib_sequence) < n:
fib_sequence.append(fib_sequence[-1] + fib_sequence[-2]) # 计算并添加下一个数
return fib_sequence[:n] # 返回指定长度的序列
# 输出前20项斐波那契数列
fibonacci_sequence = fibonacci(20)
for i in fibonacci_sequence:
print(i, end=" ")
```
当你运行这段代码,会得到斐波那契数列的前20项。每打印出一项后,都会自动换行,结果类似于:
```
0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181
阅读全文