14.01 Арифметические выражения
Ошибка.
Попробуйте повторить позже
Значение выражения записали в системе счисления с основанием 4. Сколько цифр 3
содержится в этой записи?
Используйте отказ от if для решения задачи.
Решение программой
Для подсчёта количества троек в 4-ричной записи числа необходимо написать алгоритм перевода исходного числа в 4-ричную систему счисления. Для перевода реализуем в программе стандартный алгоритм перевода числа из десятичной системы счисления в другую, но мы не будем записывать цифры в строку, а будем уведичивать счётчик в том случае, если будет появляться цифра 3.
# Исходное выражение num = 4**103 + 3*4**444 - 2*4**44 + 128 # Переменная для подсчёта количества цифр ’3’ в 4-ричной системе ans = 0 # Перевод числа из десятичной системы в 4-ричную и подсчёт цифр ’3’ while num > 0: # Если последняя цифра равна 3, увеличиваем счётчик ans += 1 * (num % 4 == 3) # Отбрасываем последнюю цифру (целочисленное деление на 4) num //= 4 # Вывод количества цифр ’3’ в 4-ричной записи числа print(ans)
Решение руками:
Каждое из чисел либо приведем к виду и упорядочим по убыванию степеней. После чего внутри четверичной сс
выполним все арифметические операции и получим ответ.
В результате сложения первых двух членов получаем число из 445 цифр, в котором первая слева цифра - тройка, 104 справа цифра - единица, остальные - нули. Чтобы вычесть число, в котором 45 цифр, из которых первая слева - двойка, а остальные нули, займем из 104 разряда.
300...01000...000...00000 - 20...00000 ------------------------- 300...00333...320...00000
Таким образом, 104 разряд справа превратиться в 0, цифры от 104 до 45 разряда станут тройками, в 45 разряде
произойдет вычитание и получится двойка. Остальные цифры останутся неизменными. Произведем сложение последнего
члена, зная, что
300...00333...320...00000 + 2000 ------------------------- 300...00333...320...02000
Итого цифра 3 стоит в первом разряде слева, и от 103 до 45 разряда невключительно справа (58 цифр) Тогда получаем ответ: 59 троек.
Специальные программы

Программа
лояльности v2.0
Приглашай друзей в Школково и получай вознаграждение до 10%!

Крути рулетку
и выигрывай призы!
Крути рулетку и покупай курсы со скидкой, которая привязывается к вашему аккаунту.

Бесплатное онлайн-обучение
Для школьников из приграничных территорий России, проживающих в ДНР, ЛНР, Херсонской, Запорожской, Белгородской, Курской, Брянской областях и Крыму.

Налоговые вычеты
Узнай, как получить налоговый вычет при оплате обучения в «Школково».

Специальное предложение
для учителей
Бесплатный доступ к любому курсу подготовки к ЕГЭ, ОГЭ и олимпиадам от «Школково». Мы с вами делаем общее и важное дело, а потому для нас очень значимо быть чем-то полезными для учителей по всей России!

Вернём деньги за курс
за твою сотку на ЕГЭ
Сдать экзамен на сотку и получить обратно деньги за подготовку теперь вполне реально!