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
答案 0 :(得分:3)
您的输出只需3次迭代。
第一个Fibonacci数字是(1), 1 , 2 , 3
尝试运行超过5次迭代,3
之后应该5
然后8
之后