尽管使用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;
}
Run Code Online (Sandbox Code Playgroud)
输出为-1833689714