Чтобы определить количество различных цифр в числовом выражении, записанном в шестнадцатеричной системе счисления, можно использовать следующий алгоритм: lk.99ballov.ru
- Создать пустое множество, в которое будут добавляться уникальные шестнадцатеричные цифры. lk.99ballov.ru
- Выполнять цикл до тех пор, пока значение выражения больше нуля. lk.99ballov.ru
- Добавлять в множество остаток от деления значения выражения на 16. lk.99ballov.ru Таким образом получить все шестнадцатеричные цифры числа. lk.99ballov.ru
- Обновлять значение выражения, деля его на 16 и присваивая результат обратно переменной, что приводит к удалению младшего разряда. lk.99ballov.ru
- После завершения цикла вывести количество уникальных шестнадцатеричных цифр, найденных в числе, используя функцию len() для определения размера множества. lk.99ballov.ru
Также можно использовать формулу: количество цифр в шестнадцатеричном числе n равно max(1, ceil(log2(n))). stackoverflow.com