![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Помогите написать программу. Вывести первые А четных членов ряда Фибоначчи - 1,2,5,13,34,89..., до заданного числа N.
|
#2
|
|||
|
|||
![]() Какую тему сейчас проходите - циклы или рекурсию?
|
#3
|
|||
|
|||
![]() А там по умолчанию будет и то, и то т.к. числа фибоначи расчитываются обычно через рекурсию, а до числа N надо будет идти циклом while.
Кстати, ряд Фибоначи начинается с двух единиц, а не с одной. Код:
program fibs; {$APPTYPE CONSOLE} function Fib(N : Integer) : Integer; begin If N < 1 Then Raise Exception.Create('Номер числа не может быть < 1'); If N < 3 Then Result := 1 Else Result := Fib(N-1) + Fib(N-2); end; procedure PrintFib(AMaxFib : Integer); var N : Integer; F : Integer; begin F := 0; N := 1; While F < AMaxFib Do Begin F := Fib(N); WriteLn(Format('Fib(%d)=%d',[N,F])); Inc(N); End; end; var MaxFib : Integer; begin Write('Введите макс. число Фибоначи:'); ReadLn(MaxFib); WriteLn; WriteLn('Ряд Фибоначи:'); PrintFib(MaxFib); end. |