Задание: Написать алгоритм последовательности чисел Фибоначчи на языке Pascal.
Дано:
Pascal(Паскаль) - язык программирования
number - число последовательности Фибоначчи
n0 - предыдущее число последовательности
n1 - текущее число последовательности
i - счетчик цикла
summ - сумма чисел последовательности
Последовательность чисел Фибоначчи на Pascal без рекурсии:
program Fibonacci;
var
n0,n1,summ,i,number: integer;
begin
write('number = ');
readln(number );
n0 := 0;
write(n0, ' ');
n1 := 1;
write(n1, ' ');
for i:=3 to number do begin
write(n0 + n1, ' ');
summ := n1;
n1 := n0 + n1;
n0 := summ
end;
readln
end.
Результат:
number = 11
0 1 1 2 3 5 8 13 21 34 55
Для того, чтобы выводить последовательность с 1, а не с 0, необходимо преобразовать код:
program Fibonacci;
var
n0,n1,summ,i,number: integer;
begin
readln(number);
for i := 1 to number do
begin
if (i = 1) or (i = 2) then
summ := 1
else
summ := n0 + n1;
n0 := n1;
n1 := summ;
write(summ, ' ');
end;
readln
end.
Результат:
11
1 1 2 3 5 8 13 21 34 55 89
Получения n-ого по счёту числа Фибоначчи на Pascal с помощью рекурсии:
program Fibonacci;
var
number: integer;
function fibonacci(number:integer): longint;
begin
if number <= 2 then
fibonacci:=1
else
fibonacci:=fibonacci(number-1) + fibonacci(number-2)
end;
begin
readln(number);
write(fibonacci(number));
readln
end.
Результат:
89