Задача к ЕГЭ по информатике на тему «подсчет количества слов/чисел» №10

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

Решение руками

Алфавит девятиричной системы счисления: 0, 1, 2, 3, 4, 5, 6, 7, 8.

Переведем первое пятизначное число из девятиричной системы счисления в десятичную: 10000 = 6561      9      10

Переведем последнее пятизначное число из девятиричной системы счисления в десятичную: 888889 = 5904810

Все числа в десятичной системе счисления, которые больше 6561 и меньше 59048 в девятиричной системе счисления будут являться пятизначными.

Вспомним признак делимости на 25: число, составленное из двух последних цифр, делится на 25.

Первое кратное 25 число в десятичной системе счисления из нужного диапазона — 6575, последнее — 59025. Осталось посчитать количество чисел между ними, кратных 25: (конечное — начальное)∕25+ 1  .

(59025− 6575)∕25 + 1 = 2099

Решение через циклы

a = ’012345678’

count = set()

for x1 in ’12345678’: # число не может начинаться с 0
    for x2 in a:
        for x3 in a:
            for x4 in a:
                for x5 in a:
                    s = x1+x2+x3+x4+x5
                    # перевод в 10сс и проверка делимости на 25
                    if int(s,9) % 25 == 0:
                        count.add(s)
print(len(count))

Решение через itertools

from itertools import product

count = set()

for x in product(’012345678’,repeat = 5):
    s = ’’.join(x)
    # перевод в 10сс и проверка делимости на 25 и то, что число не начинается с 0
    if s[0] != ’0’ and int(s,9) % 25 == 0:
        count.add(s)
print(len(count))

Ответ: 2099
Оцените статью
Я решу все!