首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何从我的fibonacci序列中获得要列出的单个数字?

如何从我的fibonacci序列中获得要列出的单个数字?
EN

Stack Overflow用户
提问于 2020-12-09 16:11:45
回答 1查看 135关注 0票数 1

这就是我的任务:

斐波那契数列(0,1,1,2,3,5,8,13,21,…)从0和1开始,并且具有这样的性质:每个后续的斐波那契数都是前两个斐波那契数的和。

您的任务是使用递归将序列转换为程序,该程序将计算斐波那契数值直到输入整数。

如何获取单个数字并按照图2所示的方式列出它

代码语言:javascript
运行
复制
#include <iostream>

using namespace std;

int fibonacci(int target, int num1, int num2);

int main()
{
    int n;
    cout << "Know the Fibonacci Sequence up to the nth 
term." ;
cout << '\n';
cout << "Input n: ";
cin  >>  n;
cout << "The sequence up to fibonacci(" << n <<"):";
cout << '\n';
cout << fibonacci(n-1,0,1);
cout << '\n';


return 0;
}

int fibonacci(int target, int num1, int num2)
{


cout << num1 << " ";
if(target == 0)
{
    return num1 + num2;
}
else {
    fibonacci(target-1, num2, num1 + num2);
}

}

现在我的程序就是这样运行的

这是我的目标

EN

回答 1

Stack Overflow用户

发布于 2020-12-09 16:42:22

当您到达n = 0时,您将返回下一个斐波纳契数,因为您的加法:

代码语言:javascript
运行
复制
if(target == 0)
{
    // here you have:
    // num1 = 34
    // num2 = 55
    return num1 + num2;
}

要修复它,只需返回num2即可。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65212909

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档