Найти среди чисел то, которое имеет максимальное количество делителей и то, у которого сумма делителей максимальна - QBasic
Формулировка задачи:
Найти среди чисел от 1 до 1000 то , которое имеет максимальное количество делителей и то , у которого
сумма делителей максимальна . ( Написать программу на QBasic через циклические алгоритмы )
Решение задачи: «Найти среди чисел то, которое имеет максимальное количество делителей и то, у которого сумма делителей максимальна»
textual
Листинг программы
FOR i = 1 TO 1000 k = 0 sum = i FOR j = 2 TO i - 1 IF i MOD j = 0 THEN k = k + 1: sum = sum + j NEXT IF k > max THEN max = k: a = i IF sum > maxs THEN maxs = sum: b = i NEXT PRINT a, b
Объяснение кода листинга программы
В этом коде используется два цикла. Первый цикл проходит по числам от 1 до 1000 и подсчитывает количество делителей для каждого числа. Второй цикл проходит по делителям числа и суммирует их.
- Первый цикл:
- i — номер текущего числа от 1 до 1000
- k — счётчик делителей
- sum — сумма делителей текущего числа
- Второй цикл:
- j — делитель текущего числа
- Если число делится на j без остатка, то увеличивается счётчик делителей и к сумме делителей прибавляется j
- Если счётчик делителей больше максимального количества делителей, то обновляется максимальное количество делителей и текущее число заменяется на число с максимальным количеством делителей
- Если сумма делителей больше максимальной суммы делителей, то обновляется максимальная сумма делителей и текущее число заменяется на число с максимальной суммой делителей
- NEXT — выполняет вторую часть цикла для следующего числа
- PRINT — выводит на экран числа с максимальным количеством делителей и максимальной суммой делителей
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д