std::cout << "How many fibonacci numbers do you wish to calculate" << std::endl;
int amount = 0;
std::cin >> amount;
int num1 = 0;
int num2 = 1;
while(true){
for(int i = 0; i < amount; ++i){
std::cout << num1 + num2 << std::endl;
int Num2Temp = num2;
num2 = num1 + num2;
num1 = Num2Temp;
}
}
上面的代码完全按照我想要的方式工作。但是,当我拿走 while 循环并留在 for 循环中自行循环时;代码停止工作。打印的数字只是增加 1 ,并且不会产生我想要的斐波那契数列。我知道真实存在无限循环。但是,我只是想知道为什么 for 循环不起作用。这是我最初写的。
这是不起作用的代码:
std::cout << "How many fibonacci numbes do you wish to calculate" << std::endl;
int amount = 0;
std::cin >> amount;
int num1 = 0;
int num2 = 1;
for(int i = 0; i < amount; ++i){
std::cout << num1 + num2 << std::endl;
int Num2Temp = num2;
num2 = num1 + num2;
num1 = Num2Temp;
}
输出:你想计算多少个斐波那契数 3 //我想计算到 3,是用户输入
1 2 3