이진수를 구하는 알고리즘
x = int(input("숫자를 입력하세요"))
result = '' # 이진수가 저장될 문자열
while True: #무한 루프
if(x%2 == 0): # X가 2로 나눠질때 나머지가 0이면 0을 저장, 아니면 1을 저장
result += '0'
else:
result += '1'
x= x//2 # 2를 나눈수의 몫만 x에 다시 저장
if(x == 0 or x == 1): #종결조건
result += str(x) #숫자를 문자열로 바꿔주어야 함
print(result[::-1]) #뒷 수부터 하나씩 슬라이싱
break #탈출
int 형으로 x값을 받아준다.
result
라는 문자열 변수에다 앞으로의 값을 더할 것 이다.
x를 2로 나눈 값의 나머지를 result
변수에 저장해준다.
result가 문자열 이니까 당연히 나머지도 문자열로 바꿔주기!
이제 다음 while문이 다시 실행되기 전에 x에다가 x를 2로 나눈값에 몫을 넣어준다.
마지막 if문은 x가 0 이거나 1일때 마지막으로 x의 값을 result에 넣어준다.
여기서도 변수형 주의
result
변수를 뒤에서부터 하나씩 출력해준다
결과