923 читали · 5 лет назад
Задача: "Проверка делимости одного числа на другое число"
Условие: Найти все такие трёхзначные числа которые кратны 7, причём сумма всех цифр этого числа также должно быть кратно семи. Вывести их количество. Разобьём задачу на несколько подзадач. Проверка делимости трёхзначных чисел на 7. Это самая простая подзадача. Здесь с помощью цикла и функции range() нужно перебрать все трёхзначные числа, проверяя - равен ли остаток от деления текущего числа на 7 нулю. Если да, то заносим это число в список num_7. получаем вот такущий список: Считаем суммы цифр всех чисел списка num_7...
1 неделю назад
ЕГЭ, задача №27 без магии: как находить максимальную сумму, кратную K, за один проход — алгоритм, который приносит баллы даже без перебора!
Задача №27 ЕГЭ по информатике регулярно просит обработать большой файл чисел и найти нечто «максимальное/минимальное» с условием кратности. Наивный перебор пар за O(N²) на реальных данных не успеет. Ниже — понятный, «рабочий» алгоритм в одну проходку, которым мои ученики стабильно берут баллы. Дан файл из N натуральных чисел. Требуется найти максимальную сумму пары чисел, кратную K (например, 120). Если такой пары нет — вывести 0 (или сообщить, что не существует). Вариации: «минимальная сумма, кратная K», «сумма, дающая остаток R», «пара/тройка чисел»...