编程显示斐波那契数列前二十项,要求各值使用递归函数int fun(int n)计算
时间: 2023-03-30 09:01:53 浏览: 62
好的,我可以回答这个问题。以下是使用递归函数计算斐波那契数列前二十项的代码:
```
#include <stdio.h>
int fun(int n) {
if (n == 1 || n == 2) {
return 1;
} else {
return fun(n-1) + fun(n-2);
}
}
int main() {
int i;
for (i = 1; i <= 20; i++) {
printf("%d ", fun(i));
}
printf("\n");
return ;
}
```
输出结果为:1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 6765
希望这个回答能够帮到你!
相关问题
编写函数fun,用递归求Fibonacci数列的第n项的值用c语言
以下是用递归方式实现Fibonacci数列的第n项的值的C语言代码:
```c
#include <stdio.h>
int fibonacci(int n) {
if (n <= 1) {
return n;
} else {
return (fibonacci(n-1) + fibonacci(n-2));
}
}
int main() {
int n;
printf("请输入要求的Fibonacci数列的第n项:");
scanf("%d", &n);
printf("Fibonacci数列的第%d项为:%d", n, fibonacci(n));
return 0;
}
```
在此代码中,`fibonacci`函数采用递归方式计算Fibonacci数列的第n项。如果n小于或等于1,则返回n本身。否则,它将递归调用自己两次,以计算前两项的和。在`main`函数中,用户将输入要求的Fibonacci数列的第n项,并使用`fibonacci`函数计算该项的值。最后,该值将被输出到屏幕上。
己知一个数列从第1项开始的前 3项为0、0、1,以后的各项都是其相邻的前了项之和。要求使用递归方法编写函数 fun(n)求该数列第口项的值,返回值为长整型,并写出相应的主函数
以下是使用递归方法编写的求解函数和主函数代码:
```python
def fun(n):
if n == 1 or n == 2:
return 0
elif n == 3:
return 1
else:
return fun(n-1) + fun(n-2) + fun(n-3)
if __name__ == '__main__':
n = int(input('请输入要求的项数:'))
result = fun(n)
print('第 %d 项的值为:%d' % (n, result))
```
在这个函数中,我们首先判断了前三项的特殊情况,然后使用递归的方式求解后续项。递归的结束条件是求第一项、第二项或第三项时直接返回特定值。这里需要注意的是,由于斐波那契数列的递归实现会产生大量重复计算,所以在实际应用中,通常会使用循环方法来提高效率。