Тема 14. Системы счисления

14.01 Арифметические выражения

Вспоминай формулы по каждой теме
Решай новые задачи каждый день
Вдумчиво разбирай решения
ШКОЛКОВО.
Готовиться с нами - ЛЕГКО!
Подтемы раздела системы счисления
Решаем задачу:

Ошибка.
Попробуйте повторить позже

Задача 1#24744

Значение выражения 4103 + 3 ⋅4444 − 2⋅444 + 128  записали в системе счисления с основанием 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)

Решение руками:

Каждое из чисел либо приведем к виду 4k  и упорядочим по убыванию степеней. После чего внутри четверичной сс выполним все арифметические операции и получим ответ.

 103     444      44           444    103      44      3
4   + 3∗ 4  − 2 ∗4  + 128 = 3 ∗4  + 4  − 2 ∗4  + 2∗ 4

В результате сложения первых двух членов получаем число из 445 цифр, в котором первая слева цифра - тройка, 104 справа цифра - единица, остальные - нули. Чтобы вычесть число, в котором 45 цифр, из которых первая слева - двойка, а остальные нули, займем из 104 разряда.

    300...01000...000...00000
   -               20...00000
    -------------------------
    300...00333...320...00000

Таким образом, 104 разряд справа превратиться в 0, цифры от 104 до 45 разряда станут тройками, в 45 разряде произойдет вычитание и получится двойка. Остальные цифры останутся неизменными. Произведем сложение последнего члена, зная, что 2∗ 43 = 20004

    300...00333...320...00000
   +                     2000
    -------------------------
    300...00333...320...02000

Итого цифра 3 стоит в первом разряде слева, и от 103 до 45 разряда невключительно справа (58 цифр) Тогда получаем ответ: 59 троек.

Ответ: 59

Специальные программы

Все специальные программы

Программа
лояльности v2.0

Приглашай друзей в Школково и получай вознаграждение до 10%!

Крути рулетку
и выигрывай призы!

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

Бесплатное онлайн-обучение

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

Налоговые вычеты

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

Специальное предложение
для учителей

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

Вернём деньги за курс
за твою сотку на ЕГЭ

Сдать экзамен на сотку и получить обратно деньги за подготовку теперь вполне реально!

cyberpunkMouse
cyberpunkMouse
Рулетка
Вы можете получить скидку в рулетке!