Логотип сайта

Подготовка к ЕГЭ и ОГЭ

  • Главная
  • Информация о сайте
  • Сочинения ЕГЭ
  • Выпускное сочинение
  • Поиск по сайту

Значение арифметического выражения 3 ∙ 3125^8 + 2 ∙ 625^7...

Категория: Информатика и ИКТ

Задание:

Значение арифметического выражения

3 ∙ 31258 + 2 ∙ 6257 – 4 ∙ 6256 + 3 ∙ 1255 – 2 ∙ 254 – 2024

записали в системе счисления с основанием 25. Сколько значащих нулей содержится в этой записи?

Решение задания в Python:

number = 3*3125**8 + 2*625**7 – 4*625**6 + 3*125**5 – 2*25**4 – 2024
cnt = 0
while number > 0:
    if number % 25 == 0:
        cnt += 1
    number = number // 25
print(cnt)< 

Ответ: 9

Благодаря встроенной длинной арифметике в языке программирования Python возможна запись и хранение очень больших чисел, как это демонстрируется в первой строке программы:

number = 3*3125**8 + + 2*625**7 – 4*625**6 + + 3*125**5 – 2*25**4 – 2024. 

Во второй строке программы создаётся и инициализируется нулём счётчик количества искомых цифр: cnt = 0

Цифры числа number в 25-ричной системе счисления извлекаются в цикле while, продолжающем итерации, пока значение переменной number больше нуля. Если очередная цифра числа number в 25-ричной системе счисления равна нулю, значение счётчика cnt инкрементируется:

if number % 25 == 0:
    cnt += 1 

После условного оператора значение переменной number целочисленно делится на 25, чтобы перейти к следующей цифре числа number в 25-ричной системе счисления.

Возможен вывод десятичных представлений всех цифр числа:

number = 3*3125**8 + 2*625**7 – 4*625**6 + 3*125**5 – 2*25**4 – 2024
while number > 0:
    print(number % 25)
    number = number // 25 

Вывод программы:

1 19 21 24 22 24 24 14 0 0 0 0 21 24 1 0 0 0 0 0 3 

В случае вывода десятичных представлений всех цифр числа ответ на задание следует определить вручную – для решения представленного задания нужно подсчитать количество нулей.

Для задачи подсчёта количества различных цифр числа удобным решением является использование множества – структуры данных, сохраняющей каждое значение только один раз:

number = 3*3125**8 + 2*625**7 – 4*625**6 + 3*125**5 – 2*25**4 – 2024
s = set()
while number > 0:
    s.add(number % 25)
    number = number // 25
print("В 25-ричном числе", len(s), "различных цифр:", s) 

Вывод программы:

В 25-ричном числе 8 различных цифр: {0, 1, 3, 14, 19, 21, 22, 24} 

Здесь мощность множества s получена с помощью функции len. Десятичные представления 25-ричных цифр числа number выведены в фигурных скобках:

{0, 1, 3, 14, 19, 21, 22, 24} 

Для создания пустого множества использован конструктор set() без параметров, для добавления элемента в множество используется метод add().

Похожие материалы
  • Определите, по какой из масок.. Подготовка к ЕГЭ (ИКТ)
  • Сколько единиц в двоичной записи десятичного числа 514?
  • Чем отличается позиционная система счисления..
  • Подготовка к ЕГЭ по информатике. Основы логики.
  • Сколько единиц в двоичной записи?
  • Напишите программу, печатающую значение EOF (Си)
  • А – множество четных чисел, В – множество двузначных чисел, С...
  • 1
  • 2
  • 3
  • 4
  • 5
Оценка: 5.0 из 1

💬 Чат ЕГЭ В Telegram. Вступить

Copyright Vopvet.Ru © 2025 Хостинг от uWeb