Задание 5 Урок 22
Primary tabs
Пользователь получает на вход целое положительное число N напишите рекурсивную процедуру, которая выведет все числа Фиббоначи от первого до N-ого
var
N, i :integer ;
function fib(n :integer):integer;
begin
if (n = 1) then
begin
result := 0
end
else if (n = 2) then
begin
result := 1
end
else
begin
result := fib(n-1) + fib(n-2);
end;
end;
begin
writeln('Vvedite chislo');
readln(N);
writeln('chislo Fibonacchi ravno: ');
for i:=1 to N do
writeln(fib(i));
readln();
end.
консоль:
Vvedite chislo 10 chislo Fibonacchi ravno: 0 1 1 2 3 5 8 13 21 34
- Log in to post comments
- 1600 reads
vedro-compota
Fri, 12/15/2023 - 19:29
Permalink
здесь скорее всего
здесь скорее всего подразумевается, что процедура сама и должна выводить эти значения, т.е. цикла в теле программы быть не должно
_____________
матфак вгу и остальная классика =)
Sergv1004
Sun, 12/17/2023 - 13:10
Permalink
.
.
Sergv1004
Sun, 12/17/2023 - 13:09
Permalink
так?
так?
var N, fib1, fib2 :integer ; procedure printFib(fib1, fib2, n: integer); begin if not (n = 0) then begin writeln(fib1); printFib(fib2, fib1+fib2, n-1); end; end; begin fib1 := 1; fib2 := 1; writeln('Vvedite chislo'); readln(N); writeln('Chisla Fibbonachi: '); printFib(fib1, fib2, N); readln(); end.