Hosted by uCoz

Задача № 48. Вывести на экран все числа Фибоначчи до n-ного включительно

Формулировка. Дано натуральное n (которое также может быть равно 0). Вывести на экран все числа Фибоначчи до n-ного включительно.

Решение. Задача основана на задаче 46. В данном случае нам необходимо лишь выводить каждое найденное число Фибоначчи на экран. Мы можем легко получить решение этой задачи из задачи 46 или задачи 47.

Опишем основные фрагменты программы. Так как нулевой член последовательности выводится при любом возможном n, то его можно вывести на экран сразу после ввода n (или до, что не имеет значения). Затем, если n отлично от нуля, выводим на экран 1-ый член (так как вывод в цикле остальных членов происходит при n >= 2):

readln(n);

fib0 := 0;

fib1 := 1;

write(fib0, ' ');

if n <> 0 then write(fib1, ' ');

Далее необходимо добавить вывод текущего найденного члена в цикл:

for i := 2 to n do begin

  fib := fib1 + fib0;

  write(fib, ' ');

  fib0 := fib1;

  fib1 := fib

end;

Так как мы выводим все результаты в самом цикле, на этом программа заканчивается.

Код:

  1. program FirstNFibonacciNums;
  2. var
  3. fib0, fib1, fib: integer;
  4. i, n: byte;
  5. begin
  6. readln(n);
  7. fib0 := 0;
  8. fib1 := 1;
  9. write(fib0, ' ');
  10. if n <> 0 then write(fib1, ' ');
  11. for i := 2 to n do begin
  12. fib := fib1 + fib0;
  13. write(fib, ' ');
  14. fib0 := fib1;
  15. fib1 := fib
  16. end
  17. end.