이번 문제는 그리디 알고리즘을 통해 해결하였다. 우선 초콜릿의 크기를 구하기 위해 2의 제곱 수를 한번씩 비교하며 이전 수보다 크고 현재 수와 같거나 작은 경우를 찾는다. 이를 통해 초콜릿의 크기를 구했다면, 초콜릿의 크기를 2씩 나누며 k에 나눴을 때 나눠 떨어지는 경우를 찾는다.
k = int(input())
choco = 0
for i in range(1, 21):
if 2**(i-1) < k <= 2**i:
choco = 2**i
break
cnt = 0
sz = choco
while sz:
if k%sz == 0:
break
sz //= 2
cnt += 1
print(choco, cnt)