Разбор 17 задания ЕГЭ по информатике 2021 года, предполагающего перебор целых чисел на заданном отрезке и проверку их на делимость. Рассмотрим несколько задач различной сложности, используя язык программирования Python.
Задача 1: Делимость на 5 и не делимость на 11, 17, 19 и 23
Множество целых чисел от 1033 до 7737 включительно, которые делятся на 5 и не делятся на 11, 17, 19 и 23. Необходимо найти количество таких чисел и максимальное из них. В ответе — два числа: количество, затем максимальное число.
Решение:
k = 0
max_num = 0
for i in range(1033, 7738):
if i % 5 == 0 and i % 11 != 0 and i % 17 != 0 and i % 19 != 0 and i % 23 != 0:
k += 1
max_num = max(max_num, i)
print(k, max_num)
Результат: 1040 7730
Задача 2: Делимость на 8 и не делимость на 7, 11, 17 и 19
Множество целых чисел от 200 до 9120 включительно, которые делятся на 8 и не делятся на 7, 11, 17 и 19. Необходимо найти количество таких чисел и минимальное из них.
Решение:
k = 0
min_num = 9121
for i in range(200, 9121):
if i % 8 == 0 and i % 7 != 0 and i % 11 != 0 and i % 17 != 0 and i % 19 != 0:
k += 1
min_num = min(min_num, i)
print(k, min_num)
Результат: 776 200
Задача 3: Остатки от деления на 3 и 7
Множество целых чисел от 3994 до 8599 включительно, удовлетворяющие условиям: остаток от деления на 3 равен 1, остаток от деления на 7 равен 5. Необходимо найти наибольшее из таких чисел и их сумму.
Решение:
max_num = 0
sum_nums = 0
for i in range(3994, 8600):
if i % 3 == 1 and i % 7 == 5:
max_num = max(max_num, i)
sum_nums += i
print(max_num, sum_nums)
Результат: 8587 1486388
Задача 4: Последние цифры в двоичной и четверичной системах
Множество целых чисел от 3712 до 8430 включительно, удовлетворяющие условиям: запись в двоичной и четверичной системах счисления заканчивается одинаковой цифрой; число кратно хотя бы одному из чисел 13, 14 или 15. Необходимо найти количество таких чисел и минимальное из них.
Решение:
k = 0
min_num = 8431
for i in range(3712, 8431):
if i % 2 == i % 4 and (i % 13 == 0 or i % 14 == 0 or i % 15 == 0):
k += 1
min_num = min(min_num, i)
print(k, min_num)
Результат: 471 3720
Задача 5: Запись в четверичной системе счисления
Множество целых чисел от 1000 до 9999 включительно, которые не делятся на 3, 17 и 19, и запись которых в четверичной системе счисления имеет ровно шесть цифр. Необходимо найти минимальное и максимальное числа.
Решение:
min_num = 9999
max_num = 0
for i in range(1000, 10000):
if i % 3 != 0 and i % 17 != 0 and i % 19 != 0:
temp = i
count = 0
while temp > 0:
temp //= 4
count += 1
if count == 6:
min_num = min(min_num, i)
max_num = max(max_num, i)
print(min_num, max_num)
Результат: 1243 9094
Задача 6: Цифра в разряде десятков
Множество целых чисел от 1476 до 7039 включительно, кратные 2, но не кратные 16, и цифра в разряде десятков которых не меньше 4. Необходимо найти количество таких чисел и среднее арифметическое минимального и максимального из них.
Решение:
numbers = []
for i in range(1476, 7040):
if i % 2 == 0 and i % 16 != 0 and (i // 10) % 10 >= 4:
numbers.append(i)
print(len(numbers), (min(numbers) + max(numbers)) // 2)
Результат: 1455 4237
Задача 7: Цифры 7 или 4
Множество целых чисел от 1388 до 63253 включительно, которые не делятся на 12 и имеют в своей записи хотя бы одну цифру 7 или 4. Необходимо найти количество таких чисел и максимальное из них.
Решение:
numbers = []
for i in range(1388, 63254):
if i % 12 != 0:
temp = i
found = False
while temp > 0:
if temp % 10 == 7 or temp % 10 == 4:
found = True
break
temp //= 10
if found:
numbers.append(i)
print(len(numbers), max(numbers))
Результат: 37771 63249
Задача 8: Кратность сумме и произведению цифр
Множество целых чисел от 1111 до 9999 включительно, кратные одновременно сумме и произведению своих цифр. Необходимо найти количество таких чисел и максимальное из них.
Решение:
numbers = []
for i in range(1111, 10000):
s = 0
p = 1
temp = i
while temp > 0:
digit = temp % 10
s += digit
p *= digit
temp //= 10
if p > 0 and i % s == 0 and i % p == 0:
numbers.append(i)
print(len(numbers), max(numbers))
Результат: 19 9612
Рассмотрены различные варианты 17 задания ЕГЭ по информатике, демонстрирующие применение циклов и условных операторов в Python для решения задач на перебор и проверку свойств чисел. Представленные решения иллюстрируют различные подходы к обработке условий задачи и оптимизации кода.