물병의 개수를 2진법으로 나타냈을때, 만약 1의 개수가 K보다 작다면 while문을 멈추고 상점에서 사야 하는 물병의 개수의 최솟값을 출력해주면 된다.
import sys input = sys.stdin.readline N, K = map(int, input().strip().split()) cnt = 0 while bin(N).count("1") > K: N += 1 cnt += 1 print(cnt)