Решать программистские задачи 25–26 на обработку чисел: счёт по условию, поиск пар/максимумов, накопление результата.
Шаблоны для задач 25–26
Типовые алгоритмические шаблоны и формат ответа
Задания 25 и 26 требуют написания программы, которая обрабатывает числовые данные. Существует несколько устойчивых шаблонов.
Шаблон 1 — «перебор с условием и счётчиком»: читаем числа, проверяем каждое условием if, увеличиваем счётчик. Пример: найти количество чисел, кратных 7. count = 0; for x in nums: if x % 7 == 0: count += 1.
Шаблон 2 — «поиск максимума/минимума с запоминанием»: инициализируем переменную (max_val = nums[0] или -inf) и сравниваем каждый новый элемент. Если нужно запомнить не только значение, но и индекс или второе число из пары — держим дополнительную переменную.
Шаблон 3 — «обработка пар чисел»: считываем числа попарно (например, через zip(nums[::2], nums[1::2])), проверяем условие на каждую пару. Задание 26 нередко формулируется именно так: ответом является пара чисел, и важно соблюсти порядок их вывода, указанный в условии.
Про делимость и остатки: оператор % в Python даёт остаток от деления. Часто нужно проверить x % n == 0 (кратность) или x % n == r (нужный остаток). Это стандартный приём для задач 25–26.
Образцовый разбор — задача на счёт: в файле дано N чисел (первая строка — количество, далее числа). Найти, сколько из них делятся на 3, но не делятся на 9.
with open('input.txt') as f:
n = int(f.readline())
nums = [int(f.readline()) for _ in range(n)]
count = sum(1 for x in nums if x % 3 == 0 and x % 9 != 0)
print(count)
Ответ — одно число. Порядок вывода ответа в задании 26 всегда описан в условии — читай внимательно.
Lesson notes
Типовые алгоритмические шаблоны и формат ответа
Задания 25 и 26 требуют написания программы, которая обрабатывает числовые данные. Существует несколько устойчивых шаблонов.
Шаблон 1 — «перебор с условием и счётчиком»: читаем числа, проверяем каждое условием if, увеличиваем счётчик. Пример: найти количество чисел, кратных 7. count = 0; for x in nums: if x % 7 == 0: count += 1.
Шаблон 2 — «поиск максимума/минимума с запоминанием»: инициализируем переменную (max_val = nums[0] или -inf) и сравниваем каждый новый элемент. Если нужно запомнить не только значение, но и индекс или второе число из пары — держим дополнительную переменную.
Шаблон 3 — «обработка пар чисел»: считываем числа попарно (например, через zip(nums[::2], nums[1::2])), проверяем условие на каждую пару. Задание 26 нередко формулируется именно так: ответом является пара чисел, и важно соблюсти порядок их вывода, указанный в условии.
Про делимость и остатки: оператор % в Python даёт остаток от деления. Часто нужно проверить x % n == 0 (кратность) или x % n == r (нужный остаток). Это стандартный приём для задач 25–26.
Образцовый разбор — задача на счёт: в файле дано N чисел (первая строка — количество, далее числа). Найти, сколько из них делятся на 3, но не делятся на 9.
with open('input.txt') as f:
n = int(f.readline())
nums = [int(f.readline()) for _ in range(n)]
count = sum(1 for x in nums if x % 3 == 0 and x % 9 != 0)
print(count)
Ответ — одно число. Порядок вывода ответа в задании 26 всегда описан в условии — читай внимательно.