Алгоритм Фибоначчи - QBasic

Узнай цену своей работы

Формулировка задачи:

Насколько верное название этой темы я не знаю. Задана последовательность натуральных чисел по рекуррентному правилу an=an-1 + an-2 и a1 = a2 = 1. И еще, IF a MOD 10 = 0 THEN f = a \ 10 Вывести на экран 22 числа. Это не числа Фибоначчи. Но алгоритм похож на него.
Листинг программы
  1. DECLARE FUNCTION f! (n!)
  2. CLS
  3. FOR i = 1 TO 22
  4. PRINT f(i)
  5. NEXT i
  6. END
  7. FUNCTION f (n)
  8. IF n <= 2 THEN
  9. f = 1
  10. ELSE
  11. a = f(n - 1) + f(n - 2)
  12. IF a MOD 10 = 0 THEN
  13. f = a \ 10
  14. ELSE
  15. f = a
  16. END IF
  17. END IF
  18. END FUNCTION

Решение задачи: «Алгоритм Фибоначчи»

textual
Листинг программы
  1. Function fb(n As Long) As Long
  2.     Dim a As Long, b As Long, c As Long, i As Long
  3.     a = 1
  4.     b = 1
  5.     For i = 3 To n
  6.         c = a + b
  7.         a = b
  8.         If c Mod 10 = 0 Then b = c \ 10 Else b = c
  9.     Next i
  10.     fb = b
  11. End Function

Объяснение кода листинга программы

  1. Входная переменная n — количество итераций, которые нужно выполнить для получения n-го числа Фибоначчи.
  2. Переменные a, b, c, i — используются для хранения и вычисления чисел Фибоначчи.
  3. a и b инициализируются единицами.
  4. Затем, в цикле от 3 до n, выполняются следующие действия: a) c присваивается сумма a и b. b) a присваивается значение b. c) Если c делится на 10 без остатка, то b присваивается целая часть от деления c на 10, иначе b присваивается c.
  5. После завершения цикла, значение переменной b присваивается функции fb.
  6. Функция возвращает значение b.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 4.385 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы