Тренажёр: системы счисления
Сначала учимся переводить числа между системами счисления, а затем применяем это в формате экзамена — считаем цифры с большим значением в записи выражения.
Система счисления и цифры
Запись числа в системе с основанием b — это сумма цифр, умноженных на степени b. В системе с основанием b цифры принимают значения от до . Если основание больше 10, есть цифры со значением 10, 11 и так далее — именно про них спрашивают «цифры больше 9».
Перевод туда и обратно
Чтобы перевести число в систему с основанием b, его делят на b и запоминают остатки; остатки читают снизу вверх. Обратно: расставляют веса — степени основания — и складывают.
Пример:
Цифры со значением больше 9
В форме А задания 14 дано значение выражения в системе с основанием больше 10, и нужно посчитать, сколько цифр в записи имеют числовое значение больше 9. Делают это переводом числа в нужную систему делением с остатком, попутно считая подходящие разряды.
Почему это считает компьютер
Числа в задании бывают в тысячи цифр — но это не проблема. Python хранит целые произвольной длины (bigint), поэтому переполнения нет, а памяти уходит немного. Прямой расчёт программой — законный способ; ограничение есть только у языков с 64-битными целыми.
Как пользоваться этим режимом. Выберите уровень, прочитайте задание, введите ответ и нажмите «Проверить». Цифры старше 9 записывайте как 10, 11, … в десятичном виде, если это указано в задании. Если трудно — откройте «Показать решение».