Объясните работу кода - C (СИ)
Формулировка задачи:
Вот прога для записи номера числа в последовательности Фибоначчи.
Вопрос в том, что я не могу понять как проходит, по этапно, цикл, как она вычисляет порядковый номер числа в последовательности?
Объясните пожалуйста на пальцах.
Спасибо!
#include<stdio.h> #include<stdlib.h> int main(void) { //Задается кодировка консольного окна system("chcp 1251>nul"); //Номер числа в последовательности Фибоначчи int n; //Отображение сообщения printf("Введите номер числа:"); //Считывание значение числа scanf_s("%d", &n); //Первое и второе число в последовательности int a = 1, b = 1; //Переменная для оператора цикла int k = 3; [COLOR="Red"]//Оператор цикла while (k <= n) { b = a + b;//Последнее число a = b - a;//Предпоследнее число k++;//Новое значение для переменной цикла }[/COLOR] //Отображение результата printf("Число Фибоначчи: %d", b); //Задержка закрытия консольного окна system("pause>nul"); return 0; }
Решение задачи: «Объясните работу кода»
textual
Листинг программы
while (k <= n) { b = a + b;//Последнее число printf("b = a + b\t (b = %d)\n", b); a = b - a;//Предпоследнее число printf("a - b - a\t (a = %d\n\n)", a); k++;//Новое значение для переменной цикла }
Объяснение кода листинга программы
- Объявлены две переменные типа int -
a
иb
. - Цикл while выполняется до тех пор, пока значение переменной
k
не станет большеn
. - Внутри цикла выполняется следующее:
- Значение переменной
b
присваивается сумме значений переменныхa
иb
. - Выводится сообщение с формулой и значением переменной
b
. - Значение переменной
a
присваивается разности значений переменныхb
иa
. - Выводится сообщение с формулой и значением переменной
a
. - Значение переменной
k
увеличивается на единицу.
- Значение переменной
- После окончания цикла выводится сообщение.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д