Тема 5. Алгоритмы – анализ простейших алгоритмов
5.02 Запись числа в другой системе счисления
Вспоминай формулы по каждой теме
Решай новые задачи каждый день
Вдумчиво разбирай решения
ШКОЛКОВО.
Готовиться с нами - ЛЕГКО!
Подтемы раздела алгоритмы – анализ простейших алгоритмов
Решаем задачу:

Ошибка.
Попробуйте повторить позже

Задача 1#75230

На вход алгоритма подаётся натуральное число N. Алгоритм строит по нему новое число R следующим образом.

1. Строится пятеричная запись числа N.

2. Далее эта запись обрабатывается по следующим правилам:

а) если число N дает четный остаток при делении на 5, то складывается сумма всех цифр в пятеричной записи числа, переводится в пятеричную систему счисления и дописывается в конец числа;

б) если число N дает нечетный остаток при делении на 5, то к этой записи слева дописывается 21.

Полученная таким образом запись является пятеричной записью искомого числа R.

Например, для исходного числа 1210 = 225  результатом является число 2245 = 6410  , а для исходного числа 610 = 115  результатом является число 21115 = 28110  .

Укажите максимальное число N, для которого искомое число R не больше 320. В ответе запишите это число в десятичной системе счисления.

Показать ответ и решение
def f(n, osn): #функция перевода числа n в сс с основанием osn
    s = ’’
    while n > 0:
        s += str(n % osn)
        n //= osn
    s = s[::-1]
    return s

for n in range(1, 200):
    s = f(n, 5) #переводим число в пятеричную систему счисления
    if n % 5 == 0 or n % 5 == 2 or n % 5 == 4: #если n дает четный остаток при делении на 5
        k = sum(map(int, s)) #считаем сумму цифр в строке
        s1 = f(k, 5) #переводим в пятеричную сс
        s += s1 #приписываем полученное значение к записи
    if n % 5 == 1 or n % 5 == 3:   #если n дает нечетный остаток при делении на 5
        s = ’21’ + s #дописываем слева к пятеричной записи числа 21
    r = int(s, 5)
    if r <= 320:
        print(n)

Ответ: 60

Специальные программы

Все специальные программы

Программа
лояльности v2.0

Приглашай друзей в Школково и получай вознаграждение до 10%!

Крути рулетку
и выигрывай призы!

Крути рулетку и покупай курсы со скидкой, которая привязывается к вашему аккаунту.

Бесплатное обучение
в Школково

Для детей ДНР, ЛНР, Херсонской, Запорожской, Белгородской, Брянской областей, а также школьникам, находящимся в пунктах временного размещения Крыма обучение на платформе бесплатное.

Налоговые вычеты

Узнай, как получить налоговый вычет при оплате обучения в «Школково».

Специальное предложение
для учителей

Бесплатный доступ к любому курсу подготовки к ЕГЭ или олимпиадам от «Школково». Мы с вами делаем общее и важное дело, а потому для нас очень значимо быть чем-то полезными для учителей по всей России!

Вернём деньги за курс
за твою сотку на ЕГЭ

Сдать экзамен на сотку и получить обратно деньги за подготовку теперь вполне реально!

cyberpunkMouse
cyberpunkMouse
Рулетка
Вы можете получить скидку в рулетке!