#include <stdio.h> // библиотека для консольного ввода/вывода
// функция возвращает n-й член последовательности Фибоначчи
int fib(int n) // возвращаемое значение и аргумент - int (целое число)
{
if (n <= 2) return 1; // первые 2 числа - 1
int x = 1; // член с номером (n-2)
int y = 1; // член с номером (n-1)
int res = x+y; // член с номером n - результат
for (int i = 4; i <= n; i++) // цикл от 4 до n включительно, на каждой итерации i увеличивается на 1 (i++)
{
x = y; //x = 1 2 3 5 ...
y = res; //y = 2 3 5 8 ...
res = x + y; //res = 3 5 8 13...
}
return res; // возвращаем результат
}
// точка входа в программу
int main()
{
int n; // целочисленная переменная для хранения числа, которое введет пользователь
// считываем число с клавиатуры и выводим первые n чисел Фибоначчи
scanf("%d", &n);
for (int i = 1; i <= n; i++) // цикл от 1 до n включительно
{
printf("%d ", fib(i)); // printf - вывод в консоль, первый аргумент "%d" - формат вывода (целое десятичное число),
//следующие аргументы - данные для вывода (результат функции fib с аргументом i)
}
return 0;
}