Урок 22 Задача 5
Primary tabs
Пользователь получает на вход целое положительное число N напишите рекурсивную процедуру, которая выведет все числа Фиббоначи от первого до N-ого
Есть вопрос. Существует ли вариант решения, чтобы переменные a, b и с объявлялись в теле процедуры, а не входили по ссылке? Когда я пробовал их там объявить, то при раскрутке рекурсии их значения сбрасывались до начального уровня, а не сохранялись, как показано в программе.
var a, b, c, n: integer; procedure fibonachi(var a, b, c: integer; n: integer); begin if n > 1 then fibonachi(a, b, c, n-1); writeln(n, ') ', a); c := a; a := a + b; b := c; end; begin writeln('Введите число: '); readln(n); a := 1; b := 0; fibonachi(a, b, c, n); readln(); end.
- Log in to post comments
- 1178 reads
vedro-compota
Wed, 07/12/2023 - 20:37
Permalink
попробуем решить без обратной
попробуем решить без обратной раскрутки - сразу печатая значения (и без передачи по ссылки), можно завести доп. счетчик
_____________
матфак вгу и остальная классика =)
piliugin
Mon, 07/17/2023 - 18:11
Permalink
Решение без обратной
vedro-compota
Mon, 07/17/2023 - 19:53
Permalink
переменная c может быть
переменная c может быть перенесена в группу локальных для функции
_____________
матфак вгу и остальная классика =)
piliugin
Wed, 07/19/2023 - 16:59
Permalink
Исправлено