斐波那契级数出错了
Fibonacci series gone wrong
>我正在尝试在名为"斐波那契.txt"的文件中打印斐波那契级数,最多 200 个术语 但是执行后,该文件包含一些错误的和,
有些金额低于预期
- 我已经检查了它没有任何错误的数据类型,我已经使用了无符号长,所以应该没有任何问题。
- 我正在使用 Cfree 5.0。
我正在附加代码并带有问题的输出。
int main(){
ofstream text_file;
text_file.open("fibonnacci.txt");
unsigned long sum, sum1=1, sum2=1;
text_file<<sum1<<"t"<<sum2<<"t";
for(int i = 1; i < 200; i++) {
sum = sum1 + sum2;
text_file<<sum<<"n";
/*if(i%5 == 0){
text_file<<"n";
}*/
sum2 = sum1;
sum1 = sum;
}
text_file<<"n";
return 0;
}
输出
102334155
165580141
267914296
433494437
701408733
1134903170
1836311903
2971215073
512559680
3483774753
3996334433
3185141890
2886509027
1776683621
368225352
2144908973
2513134325
363076002
2876210327
3239286329
1820529360
764848393
2585377753
3350226146
这些是一些中期条款。显然,通过计算位数,我们可以看到某些项比以前的项少。
您的 sum 变量中存在溢出。 无符号长整型具有最大4294967295数。例如,尝试使用__int64
相关文章:
- #定义c-预处理器常量..我做错了什么
- 努力将整数转换为链表。不知道我在这里做错了什么
- 首要问题的答案让值班员搞错了
- 看起来is_nothrow_constructible_v()在MSVC中被破坏了,我错了吗
- .h 和.cpp文件分离时出错,但仅使用 .h 文件时没有错误.我做错了什么?
- 我的C++线程做错了什么?
- 如何正确使用 >=?(a+f()+c)>=0 错了吗?
- 谁能告诉我我用 getline 做错了什么 (cpp) 格式
- 没有输出的合并排序我做错了什么?
- 我正在尝试使用 while 循环从字符串中删除字母,直到没有字母。我在这里做错了什么?
- 在C++中使用 AKS 素数测试计算双胞胎素数 我做错了什么?
- 指针相关的UE4崩溃.我的指针哪里错了?
- 我一直试图弄清楚我在这个链表程序中做错了什么
- 我正在尝试学习如何在 c++ 中传递指针,但出现错误:没有用于调用"test"的匹配函数。我做错了什么?
- FFMPEG,C++,内存泄漏,我做错了什么?
- 我做错了什么?反向字符串 C++
- 我在这个课上做错了什么?
- 我在尝试将多个值push_back向量时出错。我做错了什么?
- 过载时出错 <<。我在这里做错了什么?
- 使用针对Win32的英特尔C++编译器编译Qt时出错,我做错了什么