백준(Python) 풀이/수학

백준(Python) 11966번 2의 제곱인가? 풀이

개발윗미 2021. 11. 1. 10:49

Python으로 구현한 11966번 2의 제곱인가? 문제 풀이입니다.

 

https://www.acmicpc.net/problem/11966

 

11966번: 2의 제곱인가?

자연수 N이 주어졌을 때, 2의 제곱수면 1을 아니면 0을 출력하는 프로그램을 작성하시오.

www.acmicpc.net


n = int(input())

data = [2**i for i in range(31)]

if n in data :
  print(1)
else :
  print(0)

 

30까지로 범위를 지정하여 2의 제곱수들을 data 리스트에 저장한다.

 

조건문을 통해 입력받은 n이 data 리스트 내에 존재할 경우 2의 제곱수이기 때문에 1을 출력하고 그렇지 않을경우 0을 출력한다.