用递归打出斐波那数列
时间: 2024-06-13 18:05:39 浏览: 69
斐波那契数列是指:0、1、1、2、3、5、8、13、21、34、……,在数学上,斐波那契数列以如下被以递归的方法定义:F(0)=0,F(1)=1,F(n)=F(n-1)+F(n-2)(n>=2,n∈N*)。
以下是用递归打出斐波那数列的代码:
```python
def fib(n):
if n == 0:
return 0
elif n == 1:
return 1
else:
return fib(n-1) + fib(n-2)
```
相关问题
斐使用函数法,python语言写波那契数列递归程序
以下是使用递归函数方法,在Python语言中编写斐波那契数列程序的示例代码:
```python
def fibonacci(n):
if n <= 0:
return 0
elif n == 1:
return 1
else:
return fibonacci(n-1) + fibonacci(n-2)
# 测试
for i in range(10):
print(fibonacci(i))
```
在这个程序中,我们定义了一个递归函数 `fibonacci`,它接受一个参数 `n`,表示要求的斐波那契数列的第 `n` 项。
如果 `n` 为 0,函数返回 0,如果 `n` 为 1,函数返回 1,否则函数返回前两项的和,即 `fibonacci(n-1) + fibonacci(n-2)`。
在程序的最后,我们使用一个循环来测试这个函数,打印出前 10 项斐波那契数列。
用c语言写裴波那契数列
当然可以。在 C 语言中编写斐波那契数列的程序通常会采用递归或循环的方式来实现。这里给出一个简单的循环版本示例:
```c
#include <stdio.h>
// 函数声明,用于计算斐波那契数列的第n项
unsigned long long fibonacci(int n);
int main() {
int n;
printf("请输入要计算的斐波那契数列项数: ");
scanf("%d", &n);
// 检查输入是否合法
if (n <= 0) {
printf("错误: 输入的数字应大于0.\n");
} else {
unsigned long long fib = fibonacci(n);
printf("斐波那契数列的第%d项是: %llu\n", n, fib);
}
return 0;
}
// 使用循环计算斐波那契数
unsigned long long fibonacci(int n) {
unsigned long long fib = (n <= 1) ? n : fibonacci(n - 1) + fibonacci(n - 2);
return fib;
}
```
在这个程序中,`fibonacci()`函数通过循环避免了递归带来的效率损失,并返回斐波那契数列的第n项。当用户输入一个数值时,主函数会调用这个函数并打印结果。
阅读全文