Вывести число меньшее n с максимальным произведением делителей - QBasic
Формулировка задачи:
Дано натуральное число n. Вывести число меньшее n с максимальным произведением делителей.
Решение задачи: «Вывести число меньшее n с максимальным произведением делителей»
textual
Листинг программы
DECLARE FUNCTION f! (n!) CLS INPUT "N = "; n max = 1 FOR i = 2 TO n - 1 k = f(i) IF max < k THEN max = k j = i END IF NEXT i PRINT "M ="; j END FUNCTION f (n) s = 1 FOR i = 1 TO n / 2 IF n MOD i = 0 THEN s = s * i NEXT i f = s END FUNCTION
Объяснение кода листинга программы
Вывод числа с максимальным произведением делителей, используя функции QBasic:
- DECLARE FUNCTION f! (n!) - объявление функции с именем f, которая принимает целочисленный аргумент n.
- CLS - очистка экрана перед выводом.
- INPUT
N =
; n - запрос на ввод числа n. - max = 1 - инициализация переменной max единицей.
- FOR i = 2 TO n - 1 - цикл от 2 до n-1.
- k = f(i) - вызов функции f с аргументом i и присваивание результата переменной k.
- IF max < k THEN - проверка, если k больше текущего значения max.
- max = k - обновление значения переменной max на k.
- j = i - обновление значения переменной j на i.
- NEXT i - переход к следующей итерации цикла.
- PRINT
M =
; j - вывод значения j (числа с максимальным произведением делителей). - END - завершение основной программы.
- FUNCTION f (n) - определение функции f.
- s = 1 - инициализация переменной s единицей.
- FOR i = 1 TO n / 2 - цикл от 1 до n/2.
- IF n MOD i = 0 THEN s = s * i - проверка, делится ли n на i без остатка, если да, то умножение s на i.
- NEXT i - переход к следующей итерации цикла.
- f = s - присваивание значения переменной s переменной f.
- END - завершение определения функции f.
- Возврат к основной программе и выполнение ее с момента вызова функции f.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д