Вывести число меньшее n с максимальным произведением делителей - QBasic

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

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

Дано натуральное число n. Вывести число меньшее n с максимальным произведением делителей.

Решение задачи: «Вывести число меньшее n с максимальным произведением делителей»

textual
Листинг программы
  1. DECLARE FUNCTION f! (n!)
  2. CLS
  3. INPUT "N = "; n
  4.  
  5. max = 1
  6.  
  7. FOR i = 2 TO n - 1
  8.    k = f(i)
  9.    IF max < k THEN
  10.       max = k
  11.       j = i
  12.    END IF
  13. NEXT i
  14.  
  15. PRINT "M ="; j
  16. END
  17.  
  18. FUNCTION f (n)
  19.    s = 1
  20.    FOR i = 1 TO n / 2
  21.       IF n MOD i = 0 THEN s = s * i
  22.    NEXT i
  23.    f = s
  24. END FUNCTION

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

Вывод числа с максимальным произведением делителей, используя функции QBasic:

  1. DECLARE FUNCTION f! (n!) - объявление функции с именем f, которая принимает целочисленный аргумент n.
  2. CLS - очистка экрана перед выводом.
  3. INPUT N =; n - запрос на ввод числа n.
  4. max = 1 - инициализация переменной max единицей.
  5. FOR i = 2 TO n - 1 - цикл от 2 до n-1.
  6. k = f(i) - вызов функции f с аргументом i и присваивание результата переменной k.
  7. IF max < k THEN - проверка, если k больше текущего значения max.
  8. max = k - обновление значения переменной max на k.
  9. j = i - обновление значения переменной j на i.
  10. NEXT i - переход к следующей итерации цикла.
  11. PRINT M =; j - вывод значения j (числа с максимальным произведением делителей).
  12. END - завершение основной программы.
  13. FUNCTION f (n) - определение функции f.
  14. s = 1 - инициализация переменной s единицей.
  15. FOR i = 1 TO n / 2 - цикл от 1 до n/2.
  16. IF n MOD i = 0 THEN s = s * i - проверка, делится ли n на i без остатка, если да, то умножение s на i.
  17. NEXT i - переход к следующей итерации цикла.
  18. f = s - присваивание значения переменной s переменной f.
  19. END - завершение определения функции f.
  20. Возврат к основной программе и выполнение ее с момента вызова функции f.

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


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

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

14   голосов , оценка 4.357 из 5

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

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

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