14.01 Арифметические выражения
Готовиться с нами - ЛЕГКО!
Ошибка.
Попробуйте повторить позже
Сколько значащих нулей содержится в двоичной записи числа
Решение программой
Для подсчёта количества нулей в двоичной записи числа необходимо написать алгоритм перевода исходного числа в двоичню систему счисления. Для перевода реализуем в программе стандартный алгоритм перевода числа из десятичной системы счисления в другую. Потом подсчитаем количество нулей при помощи метода count().
# Исходное выражение a = 2**13 + 4**10 - 11 # Переменная для хранения числа в двоичной системе в виде строки s = ’’ # Перевод числа из десятичной системы в двоичную while a > 0: # Получаем последнюю цифру (остаток от деления на 2) и добавляем её в начало строки s = str(a % 2) + s # Отбрасываем последнюю цифру (целочисленное деление на 2) a //= 2 # Подсчёт и вывод количества цифр ’0’ в двоичной записи числа print(s.count(’0’))
Решение руками:
Приведем к общему основанию:
Переведем в двоичную систему счисления и получим:
Ошибка.
Попробуйте повторить позже
Сколько единиц содержится в двоичной записи значения выражения: ?
Решение программой
Для подсчёта количества единиц в двоичной записи числа необходимо написать алгоритм перевода исходного числа в двоичную систему счисления. Для перевода реализуем в программе стандартный алгоритм перевода числа из десятичной системы счисления в другую. Потом подсчитаем количество единиц при помощи метода count(). Также можно использовать функцию bin() для перевода числа в двоичную систему счисления.
# Способ 1 # Исходное выражение a = 2**4 + 2**8 + 2**16 # Переменная для хранения числа в двоичной системе в виде строки s = ’’ # Перевод числа из десятичной системы в двоичную while a > 0: # Получаем последнюю цифру (остаток от деления на 2) и добавляем её в начало строки s = str(a % 2) + s # Отбрасываем последнюю цифру (целочисленное деление на 2) a //= 2 # Подсчёт и вывод количества единиц ’1’ в двоичной записи числа print(s.count(’1’)) # Способ 2 # Прямое преобразование числа в двоичную строку с помощью bin() s = bin(2**4 + 2**8 + 2**16)[2:] # Подсчёт и вывод количества единиц ’1’ в двоичной записи числа print(s.count(’1’))
Решение руками:
Переведем в систему счисления равную 2 и получим:
Итого 3 единицы.
Ошибка.
Попробуйте повторить позже
Сколько единиц содержится в троичной записи значения выражения: ?
Решение программой
Для подсчёта количества единиц в троичной записи числа необходимо написать алгоритм перевода исходного числа в троичную систему счисления. Для перевода реализуем в программе стандартный алгоритм перевода числа из десятичной системы счисления в другую. Потом подсчитаем количество единиц при помощи метода count().
# Исходное выражение n = 13**13 + 25**256 + 4**3 # Переменная для хранения числа в троичной системе в виде строки s = ’’ # Перевод числа из десятичной системы в троичную while n > 0: # Получаем последнюю цифру (остаток от деления на 3) и добавляем её в начало строки s = str(n % 3) + s # Отбрасываем последнюю цифру (целочисленное деление на 3) n //= 3 # Подсчёт и вывод количества цифр ’1’ в троичной записи числа print(s.count(’1’))
Ошибка.
Попробуйте повторить позже
Сколько троек содержится в пятеричной записи значения выражения: ?
Решение программой
Для подсчёта количества троек в 5-ричной записи числа необходимо написать алгоритм перевода исходного числа в 5-ричную систему счисления. Для перевода реализуем в программе стандартный алгоритм перевода числа из десятичной системы счисления в другую. Потом подсчитаем количество троек при помощи метода count().
# Исходное выражение n = 21**222 + 23**244 + 25**266 # Переменная для хранения числа в 5-ричной системе в виде строки s = ’’ # Перевод числа из десятичной системы в 5-ричную while n: # Получаем последнюю цифру (остаток от деления на 5) и добавляем её в начало строки s = str(n % 5) + s # Отбрасываем последнюю цифру (целочисленное деление на 5) n //= 5 # Подсчёт и вывод количества цифр ’3’ в 5-ричной записи числа print(s.count(’3’))
Ошибка.
Попробуйте повторить позже
Сколько значащих нулей содержится в двоичной записи значения выражения: ?
Решение программой
Для подсчёта количества нулей в двоичной записи числа необходимо написать алгоритм перевода исходного числа в двоичную систему счисления. Для перевода реализуем в программе стандартный алгоритм перевода числа из десятичной системы счисления в другую. Потом подсчитаем количество нулей при помощи метода count(). Также можно использовать функцию bin() для перевода числа в двоичную систему счисления.
# Способ 1 # Исходное выражение a = 2**4 + 2**8 + 2**16 # Переменная для хранения числа в двоичной системе в виде строки s = ’’ # Перевод числа из десятичной системы в двоичную while a > 0: # Получаем последнюю цифру (остаток от деления на 2) и добавляем её в начало строки s = str(a % 2) + s # Отбрасываем последнюю цифру (целочисленное деление на 2) a //= 2 # Подсчёт и вывод количества единиц ’1’ в двоичной записи числа print(s.count(’1’)) # Способ 2 # Прямое преобразование числа в двоичную строку с помощью bin() s = bin(2**4 + 2**8 + 2**16)[2:] # Подсчёт и вывод количества единиц ’1’ в двоичной записи числа print(s.count(’1’))
Решение руками:
1. Представим все слагаемые как степени двойки:
2. Двоичное представление каждого слагаемого:
3. Сложение в двоичной системе:
4. Подсчёт значащих нулей:
- Между первой и второй единицей:
нуля
- Между второй и третьей единицей:
нуля
- После третьей единицы:
нулей
Общее количество значащих нулей:
Ответ
Ошибка.
Попробуйте повторить позже
Сколько восьмёрок содержится в девятеричной записи значения выражения: ?
Решение программой
Для подсчёта количества восьмёрок в 9-ричной записи числа необходимо написать алгоритм перевода исходного числа в 9-ричную систему счисления. Для перевода реализуем в программе стандартный алгоритм перевода числа из десятичной системы счисления в другую. Потом подсчитаем количество восьмёрок при помощи метода count().
# Исходное выражение n = 5**257 + 8**837 + 4**13 # Переменная для хранения числа в 9-ричной системе в виде строки s = ’’ # Перевод числа из десятичной системы в 9-ричную while n: # Получаем последнюю цифру (остаток от деления на 9) и добавляем её в начало строки s = str(n % 9) + s # Отбрасываем последнюю цифру (целочисленное деление на 9) n //= 9 # Подсчёт и вывод количества цифр ’8’ в 9-ричной записи числа print(s.count(’8’))
Ошибка.
Попробуйте повторить позже
Сколько двоек содержится в троичной записи значения выражения:
Решение программой
Для подсчёта количества двоек в троичной записи числа необходимо написать алгоритм перевода исходного числа в троичную систему счисления. Для перевода реализуем в программе стандартный алгоритм перевода числа из десятичной системы счисления в другую. Потом подсчитаем количество двоек при помощи метода count().
# Исходное выражение a = 9**6 + 3**4 - 770 # Переменная для хранения числа в троичной системе в виде строки s = ’’ # Перевод числа из десятичной системы в троичную while a > 0: # Получаем последнюю цифру (остаток от деления на 3) и добавляем её в начало строки s = str(a % 3) + s # Отбрасываем последнюю цифру (целочисленное деление на 3) a //= 3 # Подсчёт и вывод количества цифр ’2’ в троичной записи числа print(s.count(’2’))
Решение руками:
Вычтем столбиком:
1000000010000 - 1001112 ------------- 0222222001111
Итого, 6 двоек.
Ошибка.
Попробуйте повторить позже
Сколько значащих нулей содержится в двоичной записи значения выражения:
Решение программой
Для подсчёта количества нулей в двоичной записи числа необходимо написать алгоритм перевода исходного числа в двоичную систему счисления. Для перевода реализуем в программе стандартный алгоритм перевода числа из десятичной системы счисления в другую. Потом подсчитаем количество нулей при помощи метода count(). Также можно использовать функцию bin() для перевода числа в двоичную систему счисления.
# Способ 1 # Исходное выражение a = 16**5 + 8**5 - 4**2 + 2**9 - 535 # Переменная для хранения числа в двоичной системе в виде строки s = ’’ # Перевод числа из десятичной системы в двоичную while a > 0: # Получаем последнюю цифру (остаток от деления на 2) и добавляем её в начало строки s = str(a % 2) + s # Отбрасываем последнюю цифру (целочисленное деление на 2) a //= 2 # Подсчёт и вывод количества цифр ’0’ в двоичной записи числа print(s.count(’0’)) # Способ 2 # Прямое преобразование числа в двоичную строку с помощью bin() a = bin(16**5 + 8**5 - 4**2 + 2**9 - 535)[2:] # Подсчёт и вывод количества цифр ’0’ в двоичной записи числа print(a.count(’0’))
Решение руками:
Вычтем столбиком:
100001000000000000000 - 100111 --------------------- 100000111111111011001
Итого, 8 нулей.
Ошибка.
Попробуйте повторить позже
Сколько единиц содержится в двоичной записи значения выражения:
Решение программой
Для подсчёта количества единиц в двоичной записи числа необходимо написать алгоритм перевода исходного числа в двоичную систему счисления. Для перевода реализуем в программе стандартный алгоритм перевода числа из десятичной системы счисления в другую. Потом подсчитаем количество единиц при помощи метода count(). Также можно использовать функцию bin() для перевода числа в двоичную систему счисления.
# Способ 1 # Исходное выражение a = 32**2 - 16**2 + 8**2 - 4**2 + 2**2 - 1**2 + 1023 # Переменная для хранения числа в двоичной системе в виде строки s = ’’ # Перевод числа из десятичной системы в двоичную while a > 0: # Получаем последнюю цифру (остаток от деления на 2) и добавляем её в начало строки s = str(a % 2) + s # Отбрасываем последнюю цифру (целочисленное деление на 2) a //= 2 # Подсчёт и вывод количества единиц ’1’ в двоичной записи числа print(s.count(’1’)) # Способ 2 # Прямое преобразование числа в двоичную строку с помощью bin() a = bin(32**2 - 16**2 + 8**2 - 4**2 + 2**2 - 1**2 + 1023)[2:] # Подсчёт и вывод количества единиц ’1’ в двоичной записи числа print(a.count(’1’))
Решение руками:
Вычтем столбиком:
100001000100 - 100010010 ------------ 11100110010
Итого, 6 единиц.
Ошибка.
Попробуйте повторить позже
Сколько значащих нулей содержится в троичной записи значения выражения:
Решение программой
Для подсчёта количества нулей в троичной записи числа необходимо написать алгоритм перевода исходного числа в троичную систему счисления. Для перевода реализуем в программе стандартный алгоритм перевода числа из десятичной системы счисления в другую. Потом подсчитаем количество нулей при помощи метода count().
# Исходное выражение a = 2*729**3 - 27**5 + 2*9**4 - 3**7 + 453 # Переменная для хранения числа в троичной системе в виде строки s = ’’ # Перевод числа из десятичной системы в троичную while a > 0: # Получаем последнюю цифру (остаток от деления на 3) и добавляем её в начало строки s = str(a % 3) + s # Отбрасываем последнюю цифру (целочисленное деление на 3) a //= 3 # Подсчёт и вывод количества цифр ’0’ в троичной записи числа print(s.count(’0’))
Решение руками:
Вычтем столбиком:
2 000000 000200 121210 - 1000 000010 000000 ---------------------- 1 222000 000120 121210
Итого, 8 нулей.
Ошибка.
Попробуйте повторить позже
Сколько семерок содержится в восьмеричной записи значения выражения:
Решение программой
Для подсчёта количества семёрок в 8-ричной записи числа необходимо написать алгоритм перевода исходного числа в 8-ричную систему счисления. Для перевода реализуем в программе стандартный алгоритм перевода числа из десятичной системы счисления в другую. Потом подсчитаем количество семёрок при помощи метода count().
# Исходное выражение s = 5 * 512 ** 3 + 2 * 64 ** 6 - 7 * 8 ** 4 - 111 # Переменная для хранения числа в 8-ричной системе в виде строки k = ’’ # Перевод числа из десятичной системы в 8-ричную while s > 0: # Получаем последнюю цифру (остаток от деления на 8) и добавляем её в начало строки k = str(s % 8) + k # Отбрасываем последнюю цифру (целочисленное деление на 8) s //= 8 # Подсчёт и вывод количества цифр ’7’ в 8-ричной записи числа print(k.count(’7’))
Решение руками:
Вычтем столбиком:
2 005000 000001 - 70160 --------------- 2 004777 707621
Итого, 5 семерок.
Ошибка.
Попробуйте повторить позже
Сколько единиц содержится в двоичной записи значения выражения:
Решение программой
Для подсчёта количества единиц в двоичной записи числа необходимо написать алгоритм перевода исходного числа в двоичную систему счисления. Для перевода реализуем в программе стандартный алгоритм перевода числа из десятичной системы счисления в другую. Потом подсчитаем количество единиц при помощи метода count(). Также можно использовать функцию bin() для перевода числа в двоичную систему счисления.
# Способ 1 # Исходное выражение a = 2**10 + 2**9 + 2**8 # Переменная для хранения числа в двоичной системе в виде строки s = ’’ # Перевод числа из десятичной системы в двоичную while a > 0: # Получаем последнюю цифру (остаток от деления на 2) и добавляем её в начало строки s = str(a % 2) + s # Отбрасываем последнюю цифру (целочисленное деление на 2) a //= 2 # Подсчёт и вывод количества единиц ’1’ в двоичной записи числа print(s.count(’1’)) # Способ 2 # Прямое преобразование числа в двоичную строку с помощью bin() a = bin(2**10 + 2**9 + 2**8)[2:] # Подсчёт и вывод количества единиц ’1’ в двоичной записи числа print(a.count(’1’))
Решение руками:
В двоичной записи нет цифры 2, а значит числа примут вид *единица, затем нули в количестве равном
степени числа*, следовательно получим числа 10000000000, 1000000000 и 100000000. Итого результат сложения:
Ошибка.
Попробуйте повторить позже
Сколько единиц содержится в двоичной записи значения выражения: ?
Решение программой
Для подсчёта количества единиц в двоичной записи числа необходимо написать алгоритм перевода исходного числа в двоичную систему счисления. Для перевода реализуем в программе стандартный алгоритм перевода числа из десятичной системы счисления в другую. Потом подсчитаем количество единиц при помощи метода count(). Также можно использовать функцию bin() для перевода числа в двоичную систему счисления.
# Способ 1 # Исходное выражение a = 4**19 + 2**8 + 31 # Переменная для хранения числа в двоичной системе в виде строки s = ’’ # Перевод числа из десятичной системы в двоичную while a > 0: # Получаем последнюю цифру (остаток от деления на 2) и добавляем её в начало строки s = str(a % 2) + s # Отбрасываем последнюю цифру (целочисленное деление на 2) a //= 2 # Подсчёт и вывод количества единиц ’1’ в двоичной записи числа print(s.count(’1’)) # Способ 2 # Прямое преобразование числа в двоичную строку с помощью bin() a = bin(4**19 + 2**8 + 31)[2:] # Подсчёт и вывод количества единиц ’1’ в двоичной записи числа print(a.count(’1’))
Решение руками:
Каждое из чисел приведем к виду . После чего внутри двоичной сс выполним все арифметические операции и
получим ответ.
В результате сложения получаем число, в котором 3 единицы, стоящие на первом месте (считая слева), на 6 и 9 месте (считая справа). Чтобы вычесть единицу, займем из 6 разряда (считая справа) и выполним вычитание, тем самым единица на 6 месте (считая справа) заменится на 0, а стоящие за ней 5 нулей - заменятся на 1.
100...0100100000 - 1 ---------------- 100...0100011111
Итого 7 единиц.
Ошибка.
Попробуйте повторить позже
Сколько шестёрок содержится в семеричной записи значения выражения: ?
Решение программой
Для подсчёта количества шестёрок в 7-ричной записи числа необходимо написать алгоритм перевода исходного числа в 7-ричную систему счисления. Для перевода реализуем в программе стандартный алгоритм перевода числа из десятичной системы счисления в другую. Потом подсчитаем количество шестёрок при помощи метода count().
# Исходное выражение s = 343 ** 15 + 49 ** 4 - 7 ** 2 # Переменная для хранения числа в 7-ричной системе в виде строки a = ’’ # Перевод числа из десятичной системы в 7-ричную while s > 0: # Получаем последнюю цифру (остаток от деления на 7) и добавляем её в начало строки a = str(s % 7) + a # Отбрасываем последнюю цифру (целочисленное деление на 7) s //= 7 # Подсчёт и вывод количества цифр ’6’ в 7-ричной записи числа print(a.count(’6’))
Ручное решение: Каждое из чисел приведем к виду . После чего внутри семеричной сс выполним все
арифметические операции и получим ответ.
После выполнения операции сложения получаем число, в котором две единицы: на первом слева месте и на девятом справа месте. Для выполнения вычитания займем из 9 (считая справа) разряда, таким образом единица на месте 9 (считая справа) разряда заменится на 0, а стоящие после нее 5 нулей заменятся на шестерки. Выполним вычитание.
100...0100000000 - 100 ---------------- 100...0066666600
Ошибка.
Попробуйте повторить позже
Сколько троек содержится в пятеричной записи значения выражения: ?
Решение программой
Для подсчёта количества троек в 5-ричной записи числа необходимо написать алгоритм перевода исходного числа в 5-ричную систему счисления. Для перевода реализуем в программе стандартный алгоритм перевода числа из десятичной системы счисления в другую. Потом подсчитаем количество троек при помощи метода count().
# Исходное выражение s = 25 ** 20 + 4 * 5 ** 11 - 2 # Переменная для хранения числа в 5-ричной системе в виде строки a = ’’ # Перевод числа из десятичной системы в 5-ричную while s > 0: # Получаем последнюю цифру (остаток от деления на 5) и добавляем её в начало строки a = str(s % 5) + a # Отбрасываем последнюю цифру (целочисленное деление на 5) s //= 5 # Подсчёт и вывод количества цифр ’3’ в 5-ричной записи числа print(a.count(’3’))
Ручное решение
Каждое из чисел приведем к виду . После чего внутри пятиричной сс выполним все арифметические операции и
получим ответ.
Выполнив операцию сложения получим число из 41 цифры, в котором первая цифра слева - единица, а двенадцатая цифра справа - четверка. Для выполнения вычитания займем из двенадцатого разряда справа и вычтем:
100...0400000000000 - 2 ------------------- 100...0344444444443
Ошибка.
Попробуйте повторить позже
Сколько единиц содержится в двоичной записи значения выражения: ?
Решение программой
Для подсчёта количества единиц в двоичной записи числа необходимо написать алгоритм перевода исходного числа в двоичную систему счисления. Для перевода реализуем в программе стандартный алгоритм перевода числа из десятичной системы счисления в другую. Потом подсчитаем количество единиц при помощи метода count(). Также можно использовать функцию bin() для перевода числа в двоичную систему счисления.
# Способ 1 # Исходное выражение a = 8**2222 + 4**222 - 22 # Переменная для хранения числа в двоичной системе в виде строки s = ’’ # Перевод числа из десятичной системы в двоичную while a > 0: # Получаем последнюю цифру (остаток от деления на 2) и добавляем её в начало строки s = str(a % 2) + s # Отбрасываем последнюю цифру (целочисленное деление на 2) a //= 2 # Подсчёт и вывод количества единиц ’1’ в двоичной записи числа print(s.count(’1’)) # Способ 2 # Прямое преобразование числа в двоичную строку с помощью bin() a = bin(8**2222 + 4**222 - 22)[2:] # Подсчёт и вывод количества единиц ’1’ в двоичной записи числа print(a.count(’1’))
Решение руками:
Каждое из чисел приведем к виду . После чего внутри двоичной сс выполним все арифметические операции и
получим ответ.
После применения операции сложения для первых двух чисел получим число из 6667 цифр, в котором первая цифра слева - единица и 445 цифра справа - единица, остальные - нули. Для выполнения вычитания займем из 445 разряда и вычтем число, в котором 6 цифр, первая - единица, а остальные - нули:
100...00100...0000000 - 100000 --------------------- 100...00011...1000000
Получаем, что цифра в 445 разряде справа заменится на 0, цифры от 444 до 6 разряда заменятся на 1, в 6 разряде произойдет вычитание и останется 0, последние 5 нулей останутся неизменны.
Выполним сложение, зная, что :
100...00011...1000000 + 1010 --------------------- 100...00011...1001010
Итого одна единица на первом разряде слева, одна на втором разряде справа, одна на четвертом разряде справа, и 439 единиц между 444 и 6 разрядом справа. Таким образом, суммарно 442 единицы.
Ошибка.
Попробуйте повторить позже
Сколько значащих нулей содержится в двоичной записи значения выражения: ?
Решение программой
Для подсчёта количества нулей в двоичной записи числа необходимо написать алгоритм перевода исходного числа в двоичную систему счисления. Для перевода реализуем в программе стандартный алгоритм перевода числа из десятичной системы счисления в другую. Потом подсчитаем количество нулей при помощи метода count(). Также можно использовать функцию bin() для перевода числа в двоичную систему счисления.
# Способ 1 # Исходное выражение a = 8**2020 + 4**2017 + 26 - 1 # Переменная для хранения числа в двоичной системе в виде строки s = ’’ # Перевод числа из десятичной системы в двоичную while a > 0: # Получаем последнюю цифру (остаток от деления на 2) и добавляем её в начало строки s = str(a % 2) + s # Отбрасываем последнюю цифру (целочисленное деление на 2) a //= 2 # Подсчёт и вывод количества нулей ’0’ в двоичной записи числа print(s.count(’0’)) # Способ 2 # Прямое преобразование числа в двоичную строку с помощью bin() a = bin(8**2020 + 4**2017 + 26 - 1)[2:] # Подсчёт и вывод количества нулей ’0’ в двоичной записи числа print(a.count(’0’))
Решение руками:
Каждое из чисел приведем к виду . После чего внутри двоичной сс выполним все арифметические операции и
получим ответ.
После сложения получим число из 6061 цифры, в котором первая цифра слева - единица, 4035 цифра справа - единица,
5 цифра справа - единица, 4 цифра справа - единица, и последняя цифра - единица. Итого 5 единиц. Тогда нулей в числе:
.
Ошибка.
Попробуйте повторить позже
Сколько значащих нулей содержится в троичной записи значения выражения: ?
Решение программой
Для подсчёта количества нулей в троичной записи числа необходимо написать алгоритм перевода исходного числа в троичную систему счисления. Для перевода реализуем в программе стандартный алгоритм перевода числа из десятичной системы счисления в другую. Потом подсчитаем количество нулей при помощи метода count().
# Исходное выражение x = 9**2021 + 3**2022 + 26 - 1 # Переменная для хранения числа в троичной системе в виде строки s = ’’ # Перевод числа из десятичной системы в троичную while x > 0: # Получаем последнюю цифру (остаток от деления на 3) и добавляем её в начало строки s = str(x % 3) + s # Отбрасываем последнюю цифру (целочисленное деление на 3) x //= 3 # Подсчёт и вывод количества цифр ’0’ в троичной записи числа print(s.count(’0’))
Ошибка.
Попробуйте повторить позже
Сколько единиц содержится в восьмеричной записи значения выражения:
Решение программой
Для подсчёта количества единиц в 8-ричной записи числа необходимо написать алгоритм перевода исходного числа в 8-ричную систему счисления. Для перевода реализуем в программе стандартный алгоритм перевода числа из десятичной системы счисления в другую. Потом подсчитаем количество единиц при помощи метода count(). Также можно использовать функцию oct() для перевода числа в 8-ричную систему счисления.
# Способ 1 # Исходное выражение a = 8**10 + 2**9 + 64**8 + 117 # Переменная для хранения числа в 8-ричной системе в виде строки s = ’’ # Перевод числа из десятичной системы в 8-ричную while a > 0: # Получаем последнюю цифру (остаток от деления на 8) и добавляем её в начало строки s = str(a % 8) + s # Отбрасываем последнюю цифру (целочисленное деление на 8) a //= 8 # Подсчёт и вывод количества цифр ’1’ в 8-ричной записи числа print(s.count(’1’)) # Способ 2 # Прямое преобразование числа в 8-ричную строку с помощью oct() a = oct(8**10 + 2**9 + 64**8 + 117)[2:] # Подсчёт и вывод количества цифр ’1’ в 8-ричной записи числа print(a.count(’1’))
Решение руками:
Представим все числа в виде
Получаем:
Количество единиц:
Ошибка.
Попробуйте повторить позже
Сколько значащих нулей содержится в двоичной записи значения выражения: ?
Решение программой
Для подсчёта количества нулей в двоичной записи числа необходимо написать алгоритм перевода исходного числа в двоичную систему счисления. Для перевода реализуем в программе стандартный алгоритм перевода числа из десятичной системы счисления в другую. Потом подсчитаем количество нулей при помощи метода count(). Также можно использовать функцию bin() для перевода числа в двоичную систему счисления.
# Способ 1 # Исходное выражение a = 4**2021 + 2**2022 + 26 # Переменная для хранения числа в двоичной системе в виде строки s = ’’ # Перевод числа из десятичной системы в двоичную while a > 0: # Получаем последнюю цифру (остаток от деления на 2) и добавляем её в начало строки s = str(a % 2) + s # Отбрасываем последнюю цифру (целочисленное деление на 2) a //= 2 # Подсчёт и вывод количества нулей ’0’ в двоичной записи числа print(s.count(’0’)) # Способ 2 # Прямое преобразование числа в двоичную строку с помощью bin() a = bin(4**2021 + 2**2022 + 26)[2:] # Подсчёт и вывод количества нулей ’0’ в двоичной записи числа print(a.count(’0’))
Решение руками: Представим все числа в виде
Получим:
Количество нулей: