
Задача по теме: "Системы счисления (прямое сложение)"
Сколько различных цифр в шестнадцатеричной записи числа

Решение:
x = 2**51 + 2**45 + 2**30 + 4**7 - 2**5
s = set()
while x>0:
s.add(x%16)
x = x//16
print(len(s))
Разберем код:
-
x = 2**51 + 2**45 + 2**30 + 4**7 - 2**5
: Здесь переменнойx
присваивается значение, которое представляет собой сумму различных степеней чисел 2 и 4. -
s = set()
: Создается пустое множествоs
, в которое будут добавляться уникальные шестнадцатеричные цифры. -
while x > 0:
: Этот цикл будет выполняться до тех пор, покаx
больше нуля. -
s.add(x % 16)
: Остаток от деленияx
на 16 добавляется в множествоs
. Таким образом, получаем все шестнадцатеричные цифры числаx
. -
x = x // 16
: Значениеx
обновляется, деля его на 16 и присваивая результат обратно переменнойx
, что приводит к удалению младшего разряда. -
print(len(s))
: После завершения цикла выводится количество уникальных шестнадцатеричных цифр, найденных в числеx
, используя функциюlen()
для определения размера множестваs
.
Ответ: 7
Сообщение об ошибке
Расскажите, в каком месте допущена ошибка, мы как можно быстрее её исправим. Спасибо за обратную связь!

МГ | Pro | ProMax | |
Практика на платформе | |||
Отслеживание прогресса обучения | |||
Двухуровневое домашнее задание после каждого вебинара | |||
Все материалы составлены экспертом ЕГЭ | |||
Персональный менеджер | |||
Личный куратор | |||
Разбор ошибок личным куратором | |||
Еженедельные созвоны с куратором для закрытия индивидуальных пробелов | |||
Составление индивидуального расписания |

счёта
средств
подтверждено!
Теперь вы можете приступить
к следующему уроку
курса по математике
замены
Для смены номера телефона
мы отправили Вам код по СМС,
введите его в поле ниже.
Электронная почта
На почту придет чек об оплатеНажимая кнопку "купить", Вы выражаете своё согласие с офертой оказания услуг и принимаете их условия
Здравствуйте!
Выберите информацию о себе ниже
Электронная почта
На почту придет чек об оплатеНажимая кнопку "купить", Вы выражаете своё согласие с офертой оказания услуг и принимаете их условия

Оплата прошла успешно!
