Задача к ЕГЭ по информатике на тему «прочие прототипы» №9

Рассматривается множество целых чисел, принадлежащих числовому отрезку [3721; 7752]. Необходимо найти числа, которые удовлетворяют следующим условиям:

— сумма цифр числа кратна 3;

— двоичная запись числа не заканчивается на 000.

Найдите количество таких чисел и минимальное из них.

Решение №1

counter = 0
mn = 10**10
for n in range(3721, 7752 + 1):
    s = sum(map(int, str(n)))
    bn = bin(n)[2:]
    if (s % 3 == 0) and bn[-3:] != "000":
        counter += 1
        mn = min(mn, n)
print(counter, mn)

Решение №2

counter = 0
mn = 10**10
for n in range(3721, 7752 + 1):
# Математический факт: сумма цифр кратно 3, когда число кратно 3
    if n % 3 == 0:
    
# 000 в конце 2-сс будет, только если число делится на 8
        if n % 8 != 0:
            counter += 1
            mn = min(mn, n)
print(counter, mn)

Ответ: 1176 3723
Оцените статью
Я решу все!