1
儘管使用long int,但在添加Fibonacci序列中的大數字時,我得到負輸出。如何解決這個問題?斐波那契數列中的負輸出
#include <iostream>
using namespace std;
void main() {
long int sum = 2;
long int f1 = 1, f2 = 2, f3;
for (unsigned int i = 2; i < 4000000; i++) {
f3 = f2 + f1;
if (!(f3 % 2)) {
sum += f3;
}
swap(f1, f2);
swap(f2, f3);
}
cout << sum << endl;
}
輸出是-1833689714
整數溢出。順便提一下, – PRP
這是未定義的行爲。 – Asu