我的代码有什么问题!我想打印值小于 4000000 的斐波那契数列
Whats wrong in my code! I want to print Fibonacci Series with values less than 4000000
我觉得我的循环执行有问题!
这是我的代码。
#include <iostream>
using namespace std;
int main()
{
int i=2;
long long int FiboNo[100];
FiboNo[0] = 1;
FiboNo[1] = 2;
do{
FiboNo[i]=FiboNo[(i-1)]+FiboNo[(i-2)];
cout<<FiboNo[i]<<endl;
i++;
}while(FiboNo[i]<4000000);
return 0;
}
do {
FiboNo[i] = FiboNo[(i - 1)] + FiboNo[(i - 2)];
cout << FiboNo[i] << endl;
i++;
} while (FiboNo[i] < 4000000);
您在比较之前递增 i
。
do {
FiboNo[i] = FiboNo[(i - 1)] + FiboNo[(i - 2)];
cout << FiboNo[i] << endl;
} while (FiboNo[i++] < 4000000);
就是你想做的。
这是正在发生的事情:
i 2
fibo[2] is 2
now i is 3
fibo[3] is 0
这没有问题,当fibo[someIndex]
达到限制时。出不来,因为你的值永远是一个0
.
我觉得我的循环执行有问题! 这是我的代码。
#include <iostream>
using namespace std;
int main()
{
int i=2;
long long int FiboNo[100];
FiboNo[0] = 1;
FiboNo[1] = 2;
do{
FiboNo[i]=FiboNo[(i-1)]+FiboNo[(i-2)];
cout<<FiboNo[i]<<endl;
i++;
}while(FiboNo[i]<4000000);
return 0;
}
do {
FiboNo[i] = FiboNo[(i - 1)] + FiboNo[(i - 2)];
cout << FiboNo[i] << endl;
i++;
} while (FiboNo[i] < 4000000);
您在比较之前递增 i
。
do {
FiboNo[i] = FiboNo[(i - 1)] + FiboNo[(i - 2)];
cout << FiboNo[i] << endl;
} while (FiboNo[i++] < 4000000);
就是你想做的。
这是正在发生的事情:
i 2
fibo[2] is 2
now i is 3
fibo[3] is 0
这没有问题,当fibo[someIndex]
达到限制时。出不来,因为你的值永远是一个0
.