Я пытаюсь создать программу, которая запрашивает у пользователя число "k" и выводит серию чисел меньше числа k. Например, если пользователь пишет 20
, вывод должен быть:
0, 1, 1, 2, 3, 5, 8, 13
Вместо этого я получил:
0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181
Это означает, что печатаются 20 чисел Фибоначчи.
#include <iostream>
using std::cin;
using std::cout;
using std::endl;
unsigned int fib(unsigned int num)
{
if (num == 0 || num == 1)
{
return num;
}
else
{
return (fib(num - 1) + fib(num - 2));
}
}
int main()
{
int k = 0;
cout << "White a number k ";
cin >> k;
for (int i = 0; i < k; i++)
cout << fib(i) << endl;
return 0;
}
Я пробовал использовать "break;" но это не работает. Как можно разбить л oop?