728x90
300x250
#방법1
T = int(input()) #테스트케이스 수
for _ in range(T): #tc 수만큼 for 문
n= int(input()) #인지수 변경 대상
cnt = 0 # 자리수 초기값
while n>0: #n이 나머지 1일떄까지 while문
if n%2 == 1: # 나머지가 1이면 print(13일 경우 1101)
print(cnt,end =' ')
n= n//2 #2로 나눈 몫을 n에 다시 대입
cnt+=1 #자리수 한칸씩 앞으로 이동
print()
#방법2
T = int(input())
for _ in range(T):
bnum = list(reversed(bin(int(input()))[2:])) #0b1011형태로 출력 되기 때문에 3번째값부터
for i in range(len(bnum)): # ['1','0','1','1']
if bnum[i]=='1': #str형
print(i, end = ' ')
print()
728x90
'내맘대로IT > Python' 카테고리의 다른 글
백준 파이썬 10870번 피보나치수 5 (0) | 2023.11.14 |
---|---|
백준 파이썬 2309번 파이썬 문제풀이(일곱난쟁이) (0) | 2023.11.13 |
티스토리 코드 삽입 방법 (0) | 2023.05.17 |
백준 2501번 파이썬 약수구하기 (0) | 2023.05.17 |
백준 BAEKJOON #14681 사분면고르기 Python 파이썬 (0) | 2021.11.23 |