下列 C++ 代码用于求斐波那契数列,即第 1 个数为 0,第 2 个数为 1,从第三个数开始,依次是其前两个数之和。如果输入的值为大于 1 的正整数,该代码能实现所求。( )
---
cin >> n;
a = 0, b = 1;
for (int j = 0; j < n; j++){
cout << a << " ";
b = b + a;
a = b - a;
}
正确答案:正确(√)
cin >> n;
a = 0, b = 1;
for (int j = 0; j < n; j++){
cout << a << " ";
b = b + a;
a = b - a;
}
正确答案:正确(√)
b=b+a、a=b−a(把 a、b 整体往后挪一位)。依次输出 0 1 1 2 3 5…正是斐波那契,选 √。 💡 不用第三个变量挪动两数:b=b+a; a=b-a 等价于「a、b 各前进一位」。斐波那契是高频题。想系统刷完 GESP C++ 1~8 级真题,并查看每道题的逐题精讲?
进入 GESPPASS 开始练习