Двоичная цифра.
Некоторая последовательность двоичных цифр получается следующим образом:
―первой записывается цифра 1;
―для получения следующей последовательности цифр необходимо все предыдущие
инвертировать, то есть вместо 0 записать 1 и наоборот.
Например, на 5-м шаге формирования последовательности она будет выглядеть так:
1 0 0 1 0 1 1 0 | 0 1 1 0 1 0 0 1.
Определить, какая двоичная цифра будет находиться на -м месте в данной
последовательности.
Входные данные:
В первой строке входного потока данных записано число 1 ≤ ≤ 15000 –
количество тестовых случаев; в следующих строках – порядковый номер двоичной
цифры , 1 ≤ ≤ 2
31 − 1, для которой нужно решить задачу.
Исходные данные:
Соответствующее значение двоичной цифры, каждое значение в отдельной строке.
Пример входящих данных:
2 (количество входных данных)
5
6
Пример исходных данных:
1 (ответ для 5)
0 (ответ для 6)
def invert_binary(binary, d):
for i in range(1, d+1):
binary = binary[:i] + str(1 - int(binary[i-1])) + binary[i:]
return binary
data=[]
N = int(input())
for _ in range(N):
d = int(input())
binary = "1"
result = invert_binary(binary, d)
data.append(result[d-1])
for i in range(N):
print(data[i])
В тестах правильно 0%, подскажите пожалуйста почему