用C++编写程序:调用递归函数求出并输出 Fibonnaci 数列的前n项,n由键盘输人,母仃输出5个数。注意输出的是前面北n项,而不是第n项。请区分这个n和下述公式中的n。
时间: 2023-05-31 09:03:34 浏览: 59
#include <stdio.h>
int fibonacci(int n);
int main()
{
int n;
printf("请输入n:");
scanf("%d", &n);
printf("Fibonacci数列的前%d项为:\n", n);
for (int i = 1; i <= n; i++)
{
printf("%d ", fibonacci(i));
if (i % 5 == 0) // 每输出5个数换行
printf("\n");
}
return 0;
}
int fibonacci(int n)
{
if (n == 1 || n == 2)
return 1;
else
return fibonacci(n-1) + fibonacci(n-2);
}
相关问题
C++编写程序用递归方法求 Fabonacci 数列项并按输入值n输出前n项
下面是用递归方法求 Fabonacci 数列项并按输入值n输出前n项的 C 代码:
```c
#include <stdio.h>
int fibonacci(int n) {
if (n <= 1) {
return n;
}
return fibonacci(n - 1) + fibonacci(n - 2);
}
int main() {
int n, i;
printf("请输入需要输出的项数:");
scanf("%d", &n);
printf("前 %d 项为:\n", n);
for (i = 0; i < n; i++) {
printf("%d ", fibonacci(i));
}
printf("\n");
return 0;
}
```
在这个程序中,`fibonacci()` 函数通过递归调用自身来计算 Fabonacci 数列的某一项。当输入值 `n` 小于等于 1 时,`fibonacci()` 函数直接返回 `n`。否则,它返回前两项的和,即 `fibonacci(n - 1) + fibonacci(n - 2)`。在 `main()` 函数中,我们首先读入需要输出的项数 `n`,然后使用一个 `for` 循环来依次计算并输出前 `n` 项 Fabonacci 数列。
编写一个c++程序,用递归方式实现斐波那契数列前n项的输出
好的,下面是一个C++程序,用递归方式实现斐波那契数列前n项的输出:
```c++
#include <iostream>
using namespace std;
void fibonacci(int n, int &f0, int &f1) {
if (n == 0) {
f0 = 0;
f1 = 1;
} else {
fibonacci(n - 1, f1, f0);
f1 += f0;
}
}
int main() {
int n;
cout << "Please input the number of terms of the Fibonacci sequence: ";
cin >> n;
cout << "The first " << n << " terms of the Fibonacci sequence are: ";
int f0 = 0, f1 = 1;
for (int i = 0; i < n; i++) {
cout << f0 << " ";
fibonacci(i, f0, f1);
}
cout << endl;
return 0;
}
```
这个程序首先提示用户输入要计算的斐波那契数列的项数n。然后,它使用递归的方式计算斐波那契数列的每一项,并将它们打印出来。在每一次递归调用中,函数交换了f0和f1两个变量的值,然后通过将f1加上f0来计算出下一个斐波那契数。最后,程序打印出计算出的斐波那契数列的每一项。