用Python语言写求斐波数列第n项函数的脚本
时间: 2023-03-13 12:44:38 浏览: 64
def Fibonacci(n):
if n<0:
print("Incorrect input")
elif n==1:
return 0
elif n==2:
return 1
else:
return Fibonacci(n-1)+Fibonacci(n-2) print(Fibonacci(9))
相关问题
写一个递归求斐波数列的代码 python
好的,以下是 Python 中递归求解斐波那契数列的代码:
```python
def fibonacci(n):
if n <= 1:
return n
else:
return fibonacci(n-1) + fibonacci(n-2)
```
该函数接受一个正整数 n 作为参数,返回斐波那契数列中第 n 个数。当 n 小于等于1时,直接返回 n;否则,递归调用 fibonacci(n-1) 和 fibonacci(n-2),最终返回它们的和。
需要注意的是,递归算法容易出现栈溢出问题,当 n 较大时,该算法的效率也不高,可以考虑使用动态规划等其他算法来优化。
C语言用斐波数列求前n项的值
实现斐波那契数列的方法有很多,其中最简单的方法是使用递归,但递归的效率较低。下面是使用循环实现斐波那契数列前n项的C语言代码:
```
#include <stdio.h>
int main()
{
int n, i;
long long fib[100];
printf("请输入要求的斐波那契数列的项数:");
scanf("%d", &n);
fib[0] = 0;
fib[1] = 1;
for (i = 2; i <= n; i++)
{
fib[i] = fib[i-1] + fib[i-2];
}
printf("斐波那契数列前%d项为:", n);
for (i = 0; i < n; i++)
{
printf("%lld ", fib[i]);
}
return 0;
}
```
该代码首先定义了一个数组 `fib`,用来存储斐波那契数列的值。然后通过循环计算每一项的值,最后输出前n项的值。需要注意的是,由于斐波那契数列的值可能非常大,因此在计算过程中需要使用 `long long` 类型。