Вопрос задан 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 и на само себя. Для проверки каждого числа из диапазона будем перебирать возможные делители.

Python
A, 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

Программа перебирает все возможные варианты:

Python
count = 0

for 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. Для каждого числа перебираем его цифры и проверяем деление.

Python
N = 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

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос