Skip to content

Instantly share code, notes, and snippets.

@Kernelzero
Created June 17, 2021 01:25
Show Gist options
  • Save Kernelzero/1c6372eba95db63d2cf2ebbdbc7d6a82 to your computer and use it in GitHub Desktop.
Save Kernelzero/1c6372eba95db63d2cf2ebbdbc7d6a82 to your computer and use it in GitHub Desktop.
# 2653 : 규칙에 맞는 이진수 만들기
N = int(input())
max = 0
for i in range(1, N+1):
max += 2**(N-i)
count = 0
for n in range(max + 1):
target = bin(n)[2:]
target = target.zfill(N)
if not target.__contains__('00'):
count += 1
print(count)
입력받은 자연수로 2진수를 표현하면
N개의 자리를 가지는 숫자를 만들 수 있다.
예를들어 4를 받으면 2진수로 표현 가능한 숫자는
0000 ~ 1111 이다.
최고값인 1111 까지 루프를 돌면서 00이 포함되지 않는 숫자를 카운팅 한다.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment