СРОЧНО!!!!!!! ПОМОГИТЕ С ЗАДАНИЯМИ
Надо написать на Python, используя циклы:
Информатика 11 класс Циклы и алгоритмы на Python Python Циклы задачи по информатике натуральные числа простые числа делители алгоритмы решение задач программирование уровень A уровень B уровень C уровень D
Давайте разберем каждое из заданий по отдельности и напишем соответствующий код на Python.
Уровень A:В этом задании нам нужно найти количество способов купить ровно 185 кг мастики, используя ящики весом 15 кг, 17 кг и 21 кг. Мы можем использовать вложенные циклы для перебора всех возможных комбинаций ящиков.
Вот пример кода:
ways = 0
for x in range(0, 186 // 15 + 1):
for y in range(0, 186 // 17 + 1):
for z in range(0, 186 // 21 + 1):
if 15 * x + 17 * y + 21 * z == 185:
ways += 1
print(ways)
Уровень B:
Здесь мы должны найти все натуральные числа, не превышающие N, которые делятся на каждую из своих цифр. Для этого нам нужно:
Вот пример кода:
N = int(input("Введите N: "))
for i in range(1, N + 1):
digits = [int(d) for d in str(i) if d != '0'] # исключаем ноль
if all(i % d == 0 for d in digits):
print(i, end=' ')
Уровень C:
В этом задании мы должны найти все простые числа в заданном диапазоне [A; B]. Для этого нам нужно:
Вот пример кода:
A, B = map(int, input("Введите границы диапазона: ").split())
def is_prime(n):
if n < 2:
return False
for i in range(2, int(n**0.5) + 1):
if n % i == 0:
return False
return True
for num in range(A, B + 1):
if is_prime(num):
print(num, end=' ')
Уровень D:
В этом задании мы ищем числа на отрезке [A; B], у которых ровно 4 разных делителя. Для этого нам нужно:
Вот пример кода:
A, B = map(int, input("Введите границы диапазона: ").split())
def count_divisors(n):
count = 0
for i in range(1, n + 1):
if n % i == 0:
count += 1
return count
for num in range(A, B + 1):
if count_divisors(num) == 4:
print(num, end=' ')
Теперь у вас есть примеры кода для каждого уровня задания. Вы можете протестировать их в вашей среде Python!