Ооочень прошу, помогите! Составить в QBasic программу, печатающую ряд Фибоначчи, где...

0 голосов
34 просмотров

Ооочень прошу, помогите!

Составить в QBasic программу, печатающую ряд Фибоначчи, где каждое последующее число равно сумме двух предыдущих. 1,1,2,3,5,8,...n пусть m=20


Информатика (16 баллов) | 34 просмотров
Дан 1 ответ
0 голосов

Не знаю, поддерживает ли Бейсик рекурсию, но решение с рекурсией очень красивое, вот оно

 

Основная программа

Ввод(M);

Сообщить(F(M));

 

Всё!

 

Подпрограмма вычисления M-того числа Фибоначчи (рекурсивная!)

 

Функция F(M)

    Если M<1 Тогда</p>

         Возврат(0);

    КонецЕсли;

    Если M<3 тогда</p>

         Возврат(1);

    Иначе

         Возврат(F(M-2)+F(M-1));

    КонецЕсли;

КонецФункции

 

 

Проверил(не на бейсике), работает.

Достаточно быстро посчитала

F(20)=6765