Задача #3392

Системы счисления

Уровень ЕГЭ
(О. Лысенков) Определите в 36-ричной записи числа количество цифр с числовым значением, кратным либо 5, либо 3, но не 5 и 3 одновременно.
30·36231+18·61013·36452357.
Ответ
Войдите, чтобы история ответов и статистика сохранялись.
Решение Нажми, чтобы открыть

Ответ

48
#1 способ
n = 30 * 36 ** 231 + 18 * 6 ** 101 - 3 * 36 ** 45 - 2357
count = 0
while n != 0:
ost = n % 36
if ((ost % 5 == 0) + (ost % 3 == 0)) == 1: #так как логическое либо, либо - исключающее или(xor),
# то необходимо, чтобы только одно из двух условий выполнялось,
#поэтому, так как в python true + true = 2, true + false = 1, false + true = 1, false + false = 0,
#результаты обоих условий складываются и после происходит проверка, что их сумма равна 1
count += 1
n //= 36
print(count)

#2 способ
n = 30 * 36 ** 231 + 18 * 6 ** 101 - 3 * 36 ** 45 - 2357
count = 0
a = []
while n != 0:
a = [n % 36] + a
n //= 36
for i in a:
if ((i % 5 == 0) + (i % 3 == 0)) == 1:# #так как логическое либо, либо - исключающее или(xor),
# то необходимо, чтобы только одно из двух условий выполнялось,
#поэтому, так как в python true + true = 2, true + false = 1, false + true = 1, false + false = 0,
#результаты обоих условий складываются и после происходит проверка, что их сумма равна 1
count += 1
print(count)
Быстрый переход
Перейти к задаче