2의 제곱인 수 출력하기

yongju·2022년 10월 26일
0

Algorithm-weekly-goorm

목록 보기
1/5
post-thumbnail

구름 알고리즘 위클리 [코딩테스트 준비하기]

문제 사용자의 입력을 받아 그 수가 2의 제곱이면 "Yes", 아니면 "No" 출력하기

코드

user_input=input()

number=int(user_input)

while number%2==0:
    number//=2

if number==1:
    print("Yes")
else:
    print("No")

코드 설명

number=int(user_input)

input()으로 입력을 받으면 string 으로 받아오게 되므로 int로 변환해줘야함.

while number%2==0:
    number//=2

짝수인 경우 계속 2로 나눠서 몫을 number에 다시 넣어줌.

if number==1:
    print("Yes")
else:
    print("No")

사용자에게 받아온 숫자 1 또는 while문을 거쳐서 몫을 받아온 number가 1인 경우 yes 출력
아닌 경우,No 출력

짝수를 계속 2로 나누다보면, 2의 제곱인 수의 최종 number=1이 나오는 것을 알 수 있음. 이를 이용하여 푼 문제.

출력예시

profile
AI dev

0개의 댓글