반응형
[ Contents ]
1. 문제 (링크 참조)
2. 문제 풀이
주어진 수가 2의 제곱인지 판별하는 문제입니다.
간단한 문제지만 실수하기 쉽습니다. 2의 0제곱인 1도 포함되야 하며, 2의 배수 판별과 혼동하면 안됩니다. 2의 제곱이니, 일일이 2를 곱해가며 확인해야 합니다.
3. 코드
# 입력
N = int(input())
# 2의 제곱 판별
num = 1
while True:
# 2의 제곱이면 1 출력
if num == N:
print(1)
break
# 2의 제곱이 아니면 0 출력
elif num > N:
print(0)
break
num *= 2
주어진 수보다 2의 제곱이 커질 때까지 2를 곱합니다. 만약 N과 같아지는 때가 생긴다면, 주어진 수는 2의 제곱입니다.
반응형
'Algorithm' 카테고리의 다른 글
[탐색/BFS] 백준 2644 촌수계산 - 파이썬(Python) (0) | 2022.06.05 |
---|---|
[구현/수학] 백준 2921 도미노 - 파이썬(Python) (0) | 2022.06.04 |
[DP/동적계획법] 백준 1904 01타일 - 파이썬(Python) (0) | 2022.06.02 |
[구현/수학] 백준 2959 거북이 - 파이썬(Python) (0) | 2022.06.01 |
[구현/수학] 백준 10178 할로윈의 사탕 - 파이썬(Python) (0) | 2022.05.31 |
댓글