
СРОЧНО!!!!!!! ПОМОГИТЕ С ЗАДАНИЯМИ Надо написать на Python, используя циклы:Вложенные
циклыУровень A. В магазине продается мастика в ящиках по 15 кг, 17 кг, 21 кг. Как купить ровно 185 кг мастики, не вскрывая ящики? Сколькими способами можно это сделать?Уровень B. Ввести натуральное число N и вывести все натуральные числа, не превосходящие N и делящиеся на каждую из своих цифр. Пример:Введите N:151 2 3 4 5 6 7 8 9 11 12 15Уровень C. Напишите программу, которая получает натуральные числа A и B (A<B) и выводит все простые числа на отрезке [A; B].Пример:Введите границы диапазона:10 2011 13 17 19Уровень D. Напишите программу, которая получает натуральные числа A и B (A<B) и выводит все на отрезке [A; B], у которых ровно 4 разных делителя. Пример:Введите границы диапазона:10 2010 14 15

Ответы на вопрос

A level (алгоритм долгий по времени)
a, b, c, n = map(int, input().split())
shopping_options = []
for ka in range((n // a)+1):
if ka * a > n:
break
elif ka * a == n:
shopping_options.append([ka, 0, 0])
break
for kb in range((n // b)+1):
if ka * a + kb * b > n:
break
elif ka * a + kb * b == n:
shopping_options.append([ka, kb, 0])
break
for kc in range((n // c)+1):
if ka*a+kb*b+kc*c == n:
shopping_options.append([ka, kb, kc])
elif ka*a+kb*b+kc*c > n:
break
print(len(shopping_options))
for index in range(len(shopping_options)):
print(*shopping_options[index])
B level:
def divisiblity(a: int) -> bool:
for number in str(a):
try:
a % int(number)
except ZeroDivisionError:
return False
if a % int(number) == 0:
pass
else:
return False
return True
n = int(input())
sequence = []
for i in range(1, n+1):
if divisiblity(i):
sequence.append(i)
print(*sequence)
C level:
def is_Prime(a: int) -> bool:
for i in range(2, (a//2)+1):
if a % i == 0:
return False
return True
start, end = map(int, input().split())
seq_of_simp_numb = []
for g in range(start, end+1):
if is_Prime(g):
seq_of_simp_numb.append(g)
print(*seq_of_simp_numb)
D level:
def four_divisors(a: int) -> bool:
divisors = 0
for i in range(1, a//2+1):
if a % i == 0:
divisors += 1
if divisors > 4:
return False
divisors += 1
return divisors == 4
start, end = map(int, input().split())
sequence = []
for g in range(start, end+1):
if four_divisors(g):
sequence.append(g)
print(*sequence)



Уровень A: Как купить ровно 185 кг мастики, не вскрывая ящики?
Для решения этой задачи можно использовать вложенные циклы. Мы знаем, что мастика продается в ящиках по 15 кг, 17 кг и 21 кг. Нам нужно купить ровно 185 кг мастики.
Один из способов решения этой задачи - перебрать все возможные комбинации ящиков и проверить их сумму. Если сумма равна 185 кг, то это один из возможных способов покупки мастики.
Вот пример кода на Python, который решает эту задачу:
```python for box_15 in range(0, 13): # перебираем количество ящиков по 15 кг от 0 до 12 for box_17 in range(0, 11): # перебираем количество ящиков по 17 кг от 0 до 10 for box_21 in range(0, 9): # перебираем количество ящиков по 21 кг от 0 до 8 total_weight = box_15 * 15 + box_17 * 17 + box_21 * 21 # считаем общий вес if total_weight == 185: # если общий вес равен 185 кг print(f"Ящики по 15 кг: {box_15}, Ящики по 17 кг: {box_17}, Ящики по 21 кг: {box_21}") ```
Этот код перебирает все возможные комбинации количества ящиков по 15 кг, 17 кг и 21 кг. Если общий вес ящиков равен 185 кг, то выводит комбинацию ящиков.
В результате выполнения этого кода будет выведено несколько комбинаций ящиков


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







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







Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili