Вопрос задан 05.09.2026 в 11:49.
Предмет Информатика.
Спрашивает Фёдоров Кирилл.
PYTHON. Решить с помощью циклов, диапазонов:
1) Напишите программу, которая получает натуральные числа A и B (A < B) и выводит все простые числа в этом диапазоне.
Пример:
Введите границы диапазона:
10 20
11 13 17 19
2) В магазине продается мастика в ящиках по 15 кг, 17 кг, 21 кг. Как купить ровно 185 кг мастики, не вскрывая ящики? Сколькими способами можно это сделать?
3) Ввести натуральное число N и вывести все натуральные числа, не превосходящие N и делящиеся на каждую из своих цифр.
Пример:
Введите N:
15
1 2 3 4 5 6 7 8 9 11 12 15
Ответы на вопрос
Отвечает Борняков Игорь.
1) Вывод всех простых чисел в диапазоне A и B
Простое число — это число, которое делится только на 1 и на само себя. Для проверки каждого числа из диапазона будем перебирать возможные делители.
PythonA, B = map(int, input("Введите границы диапазона: ").split())for num in range(A, B + 1): if num > 1: prime = True for i in range(2, num): if num % i == 0: prime = False break if prime: print(num, end=" ")
Пример работы:
Введите границы диапазона: 10 20 11 13 17 19
2) Покупка ровно 185 кг мастики
Есть ящики по 15 кг, 17 кг и 21 кг. Нужно найти все варианты:
Пусть:
-
a— количество ящиков по 15 кг; -
b— количество ящиков по 17 кг; -
c— количество ящиков по 21 кг.
Нужно, чтобы:
15a + 17b + 21c = 185
Программа перебирает все возможные варианты:
Pythoncount = 0for a in range(185 // 15 + 1): for b in range(185 // 17 + 1): for c in range(185 // 21 + 1): if 15 * a + 17 * b + 21 * c == 185: count += 1 print("15 кг:", a, "17 кг:", b, "21 кг:", c)print("Количество способов:", count)
Результат:
15 кг: 1 17 кг: 1 21 кг: 7 15 кг: 4 17 кг: 5 21 кг: 2 Количество способов: 2
Значит, купить 185 кг можно 2 способами.
3) Числа, делящиеся на каждую свою цифру
Нужно проверить каждое число от 1 до N. Для каждого числа перебираем его цифры и проверяем деление.
PythonN = int(input("Введите N: "))for num in range(1, N + 1): temp = num good = True while temp > 0: digit = temp % 10 if digit == 0 or num % digit != 0: good = False break temp //= 10 if good: print(num, end=" ")
Пример работы:
Введите N: 15 1 2 3 4 5 6 7 8 9 11 12 15
Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
Предметы
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili

