5.01 Запись числа в двоичной системе счисления
Ошибка.
Попробуйте повторить позже
На вход алгоритма подаётся натуральное число . Алгоритм строит по нему новое число
следующим
образом.
1. Строится двоичная запись числа .
2. Далее эта запись обрабатывается по следующему правилу:
а) если число делится на 3, то к этой записи дописываются справа первая и последняя цифры.
б) если число на 3 не делится, то к этой записи слева дописываются последняя и первая цифры.
Полученная таким образом запись является двоичной записью искомого числа .
3. Результат переводится в десятичную систему и выводится на экран.
Укажите максимальное , при котором алгоритм выводит число, меньшее 500.
Решение программой
В условии задачи описан алгоритм, для поиска подходящего числа N необходимо «перевести» этот алгоритм с
естественного языка на язык программирования Python. Сначала переводим число N в двоичную строку с помощью
функции bin, затем выясняем, делится ли N на 3, используя оператор взятия остатка (%). Если делится, то есть
остаток равен нулю, дописываем в конец двоичной записи первую и последнюю цифры. Если не делится, дописываем в
начало последнюю и первую цифры. В завершение переводим результат в десятичную систему счисления, получаем
R.
Далее организуем перебор чисел N в цикле for. Для каждого полученного значения R проверяем указанное
требование. Если условие выполняется, добавляем N в список. В ответ запишем максимальное число из
списка.
ans = [] for n in range(1, 1000): t = bin(n)[2:] # Записываем двоичную запись числа if n % 3 == 0: # Если число n кратно 3, то добавляем справа от числа # сначала первую цифру числа, затем - последнюю t += t[0] + t[-1] else: t = t[-1] + t[0] + t # В ином случае добавляем слева от числа # сначала последнюю цифру числа, затем - первую r = int(t, 2) # Переводим число в десятичную систему счисления if r < 500: ans += [n] print(max(ans)) # Выводим максимальное n
Специальные программы

Программа
лояльности v2.0
Приглашай друзей в Школково и получай вознаграждение до 10%!

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

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

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

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

Вернём деньги за курс
за твою сотку на ЕГЭ
Сдать экзамен на сотку и получить обратно деньги за подготовку теперь вполне реально!