非递归输出斐波那契数列编程计算第n个数
时间: 2023-05-26 18:07:33 浏览: 71
以下是使用Python编写的非递归程序,计算第n个斐波那契数:
```python
def fibonacci(n):
if n == 0:
return 0
elif n == 1:
return 1
else:
a, b = 0, 1
for i in range(2, n + 1):
c = a + b
a = b
b = c
return b
# 测试程序
print(fibonacci(0)) # 0
print(fibonacci(1)) # 1
print(fibonacci(2)) # 1
print(fibonacci(3)) # 2
print(fibonacci(4)) # 3
print(fibonacci(5)) # 5
print(fibonacci(6)) # 8
```
该程序使用循环迭代计算斐波那契数。首先检查零和一的情况,并使用两个变量a和b,将它们初始化为0和1。从第2个斐波那契数开始,循环迭代并计算下一个斐波那契数,直到达到所需的n。最后,返回b作为结果。
相关问题
使用c语言非递归输出斐波那契数列编程计算第n个数
```
#include <stdio.h>
int fibonacci(int n) {
int a = 0, b = 1;
if (n == 0) {
return a;
} else if (n == 1) {
return b;
} else {
int c;
for (int i = 2; i <= n; i++) {
c = a + b;
a = b;
b = c;
}
return b;
}
}
int main() {
int n;
printf("请输入一个正整数:");
scanf("%d", &n);
printf("斐波那契数列中第%d个数是%d\n", n, fibonacci(n));
return 0;
}
```
该程序使用非递归方法计算斐波那契数列。在循环中,每个数字都是前两个数字的和,直到计算到第n个数。最后返回第n个数。
使用c语言递归输出斐波那契数列编程计算第n个数
#include<stdio.h>
int fibonacci(int n) {
if (n <= 0) { // 递归出口
return 0;
} else if (n == 1) { // 递归出口
return 1;
} else {
return fibonacci(n-1) + fibonacci(n-2); // 递归调用计算前两个数的和
}
}
int main() {
int n;
printf("请输入要计算斐波那契数列的第几个数:");
scanf("%d", &n);
printf("斐波那契数列第%d个数为:%d", n, fibonacci(n));
return 0;
}