В конце статьи есть тестирование

В конце статьи есть тестирование по этой теме

Счетчик просмотров103

РЕШЕНИЕ 14 НОМЕРОВ (1/4)

Оглавление
Условие задачиТип задачиАлгоритм решенияФункция перевода в любую ССПолное решениеДругой способ: считаем прямо в цикле
Задача

Условие задачи

Значение арифметического выражения 15625²⁰ – 3125¹⁵ · 25¹⁰ + 625⁵ – 2000 записали в системе счисления с основанием 25. Сколько значащих нулей содержится в этой записи?

Тип задачи

Это прямой перевод: вычисляем выражение в десятичной, переводим в нужную СС, считаем цифры. Для оснований > 9 используем перевод через список.

Алгоритм решения

1. Вычисляем выражение: Python умеет работать с большими числами: val = 15625**20 - 3125**15 * 25**10 + 625**5 - 2000

2. Переводим в нужную СС: Для основания 25 встроенные bin/oct/hex не подойдут. Пишем функцию: остаток от деления на 25 — очередная цифра, целая часть — следующее число.

3. Считаем нули: Цифры хранятся в списке как числа: digits.count(0).

Функция перевода в любую СС

Для оснований > 9 цифры бывают > 9 (например 14 в 25-ричной). В строке это путаница (114 — это «1,14» или «11,4»?). Поэтому — список:

PYTHON-КОД
1
2
3
4
5
6

Пример: f(29, 15) → [1, 14]

Баннер статьи

Полное решение

PYTHON-КОД
1
2
3
4
5
6
7
8
9
10

Другой способ: считаем прямо в цикле

Можно не собирать весь список, а сразу проверять остаток в цикле while. Ведь n % b — это и есть очередная цифра. Если она равна 0, прибавляем счётчик:

PYTHON-КОД
1
2
3
4
5
6
7

Здесь мы не строим список вообще — просто на каждом шаге смотрим: если остаток от деления равен 0, значит текущая цифра — ноль, прибавляем cnt += 1. Результат тот же, но без лишнего списка.

Ответ: 38

Решите задачи, чтобы усвоить материал

Решить в Личном Кабинете
Системы счисления → Анализ в другой системе счисления

Значение арифметического выражения
15⋅49\(^{237}\) +37⋅343\(^{500}\)−14⋅7\(^{35}\)
Записали в системе счисления с основанием 49. Определите количество цифр 0 в записи этого числа.

Системы счисления → Анализ в другой системе счисления

Значение арифметического выражения: \(6×144  ^{26}  +11×12  ^{75}  −48\) записали в системе счисления с основанием 12. Сколько цифр «B» в этой записи?

Оцените статью

Другие статьи по предмету

Другие статьи не найдены