СРОЧНО!!!!!!! ПОМОГИТЕ С ЗАДАНИЯМИ
Надо написать на 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!