В
Все
М
Математика
О
ОБЖ
У
Українська мова
Д
Другие предметы
Х
Химия
М
Музыка
Н
Немецкий язык
Б
Беларуская мова
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
Р
Русский язык
У
Українська література
Ф
Французский язык
П
Психология
А
Алгебра
О
Обществознание
М
МХК
В
Видео-ответы
Г
География
П
Право
Г
Геометрия
А
Английский язык
И
Информатика
Қ
Қазақ тiлi
Л
Литература
И
История
valievaalina869
valievaalina869
02.11.2022 02:54 •  Информатика

Алгоритм получает на вход натуральное число N > 1 и строит по нему новое число R следующим образом: 1) Строится двоичная запись числа N.
2) В этой записи последний ноль заменяется на первые две цифры полученной записи. Если нуля нет, алгоритм аварийно завершается.
3) Запись записывается справа налево (в обратную сторону).
4) Результат переводится в десятичную систему счисления.
Для скольких значений N в результате работы алгоритма получится число 127?

Задача с сайта Полякова. Мне нужен как то быстро решать эту задачу. Пробовал написать программу на питоне, но отнимает слишком много времени, в условиях экзамена я такого позволить себе не могу. По идее эту задачу можно решать без программ, но как? На ум не приходит никаких идей .Мне нужен наиболее эффективный решения задачи, буду очень благодарен!!

Показать ответ
Ответ:
юлка10
юлка10
24.01.2022 06:00

у меня получилось 61

Объяснение:

N = 2

counter = 1

for i in range(1, 10000000):

   binary = str(bin(N)[2:])

   print(binary)

   first_numbers = binary[:2]

   temp_list = list(binary)

   if temp_list[-1] == '0':

       temp_list[-1] = first_numbers

   print(temp_list)

   temp_list.reverse()

   print(temp_list)

   result_join = ''.join(temp_list)

   print(result_join)

   result_int = int(result_join, 2)

   if result_int == 127:

       print(result_int)

       print('counter', counter)

       break

   N += 1

   counter += 1

Если подумать, то можно этот код сократить. А так пишется недолго и легко (если решение правильное:) )

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота