Информатика, вопрос задал Ogomegassy , 2 года назад

язык python
1. Напишите код программы, которая при вводе списка чисел определяет, какие из введенных чисел являются степенями числа 2, и выводит их на экран через пробел в одну строку.


bezrukoff888: решение на рекурсии пойдет?
bezrukoff888: создай новый вопрос, есть решение проще без for

Ответы на вопрос

Ответил mrusipusi
1

Ответ:программа

a = map(int, input().split())

for i in a:

   for j in range(15):

       if i == 2 ** j:

           print(i, end=" ")

Объяснение:файл Программа работает для   N < 32768

Приложения:

Ogomegassy: что означает for j in range(15)?
bezrukoff888: решение не оптимально
bezrukoff888: удалите пожалуйста, сейчас дам верное и рациональное
bezrukoff888: проверка числа на степень двойки не требует цикла
mrusipusi: хахахаха да иди ты со своей рекурсией)
bezrukoff888: не сори
bezrukoff888: там вообще цикл не нужен
Ogomegassy: что означает for j in range(15)?
bezrukoff888: n & (n-1) == 0 для проверки на степень 2
Ogomegassy: мне подходит с for
Новые вопросы