Найти на отрезе [n; m] натуральное число, имеющее наbбольшее количество делителей - QBasic

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

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

Решить задачу тремя способами:1) через цикл for 2) через цикл с предусловием while 3) через цикл с постусловием do until Задача: Найти на отрезе [n; m] натуральное число, имеющее наbбольшее количество делителей!

Решение задачи: «Найти на отрезе [n; m] натуральное число, имеющее наbбольшее количество делителей»

textual
Листинг программы
INPUT "n = ", n
INPUT "m = ", m
I1 = n
S1 = 0
'======================= For - Next =================================
FOR I = n TO m
    S = 0
    FOR K = 1 TO m
        IF I MOD K = 0 THEN
            S = S + 1
        END IF
    NEXT K
    IF S > S1 THEN
        S1 = S
        I1 = I
    END IF
NEXT I
'====================================================================
PRINT "Диапазон: "; n; " - "; m
PRINT "Число с наибольшим количеством делителей: "; I1; " ("; S1; ")"

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

В этом коде на языке QBasic выполняется следующая последовательность действий:

  1. Вводятся значения для переменных n и m с помощью функции INPUT.
  2. Первая переменная I1 инициализируется значением переменной n.
  3. Вторая переменная S1 инициализируется значением 0.
  4. Запускается цикл FOR, который начинается с i = n и продолжается до i = m.
  5. Внутри цикла находится еще один цикл FOR, который начинается с k = 1 и продолжается до k = m.
  6. Внутри второго цикла проверяется, делится ли текущее значение i на k без остатка с помощью оператора MOD.
  7. Если да, то значение переменной S увеличивается на 1.
  8. После завершения второго цикла, значение переменной S сравнивается со значением переменной S1.
  9. Если значение S больше, чем значение S1, то значение переменной S1 обновляется значением S, а значение переменной I1 обновляется значением i.
  10. После завершения первого цикла, выводится диапазон чисел n - m.
  11. Выводится число с наибольшим количеством делителей I1.
  12. Выводится количество делителей S1. Список действий:
  13. Ввод значений для переменных n и m.
  14. Инициализация I1 значением n.
  15. Инициализация S1 значением 0.
  16. Запуск цикла FOR от n до m.
  17. Внутри цикла запуск второго цикла FOR от 1 до m.
  18. Внутри второго цикла проверка делится ли i на k без остатка.
  19. Если да, увеличение значения S на 1.
  20. Сравнение значения S со значением S1.
  21. Если значение S больше, обновление значений S1 и I1.
  22. Вывод диапазона чисел n-m.
  23. Вывод числа I1.
  24. Вывод значения S1.

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

15   голосов , оценка 3.8 из 5
Похожие ответы