#include<iostream>
#include<string>
#include<algorithm>
using namespace std;
string get_result(string a, string b);
int main(void)
{
string s1 = "1";
string s2 = "1";
int i;
for (i = 3; i <= 800; i++)
{
string s3 = get_result(s1, s2);
s1 = s2;
s2 = s3;
}
reverse(s2.begin(), s2.end());
cout << s2 << endl;
return 0;
}
string get_result(string a, string b)
{
string s;
int len1 = a.size();
int len2 = b.size();
int i;
int cal = 0;
for (i = 0; i < len1; i++)
{
s[i] = ((a[i] - '0') + (b[i] - '0') + cal) % 10;
cal = ((a[i] - '0') + (b[i] - '0') + cal) / 10;
}
if(len1<len2)
{
for (i=len1; i < len2; i++)
{
s[i] = ((b[i] - '0') + cal) % 10;
cal = ((b[i] - '0') + cal) / 10;
}
}
if(cal>0)
{
s[i] = cal;
}
return s;
}
求斐波那契数列的第800项,输出为啥一直是空
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- 我叫RT 2022-03-26 21:02关注
首先,程序写的有点乱,get_result中有两处明显错误。
其一:string没有初始化长度,却直接使用下标运算取值
其二:我猜你想将a、b的第i个元素值相加。那么这里是不是要对结果+'0'呢,你这个表达式计算的结果是ascii值,转换成char要加'0'。如果你向将string转为int的话推荐你使用 stoi() 函数,或者重新完善一下你的get_result函数
解决 1无用
悬赏问题
- ¥15 做一个简单项目,用Python分析共享单车的数据
- ¥20 在使用CESM2.2.0模型进行case.submit过程中出现如下错误(关键词-Map)
- ¥15 有办法改变通过wifi进入的网站的设置吗
- ¥15 所以到底怎么算!算到凌晨五点都算不出来!
- ¥15 label_studio
- ¥15 请教如何phython发邮件
- ¥15 linux系统安装问题
- ¥15 路径规划如何采用矢量法让他们尽量在一个方向
- ¥15 crypto 一道rsa解密题
- ¥15 survIDINRI已将生存时间转为数值变量,仍错误 Time variable is not numeric。