통계, IT, AI

[PROJECT_EULER] 63. Powerful digit counts 본문

IT/PROJECT_EULER

[PROJECT_EULER] 63. Powerful digit counts

Harold_Finch 2023. 3. 23. 21:00

   문제는 이곳에서 확인할 수 있다.

   \(16807=7^5\)이며 5자리 숫자이다. 이와 같이 어떤 수의 길이가 n이면서 n승의 형태로 나타낼 수 있는 양의 정수의 개수를 찾아야 한다. 문제의 조건에서 \(10^n\)은 \(n+1\)자리수가 되어 체크할 필요가 없음을 알 수 있다.

import itertools

ans = 0

for k in range(1, 10):
    
    for n in itertools.count(1):

        if len(str(k ** n)) == n:
            ans += 1

        elif len(str(k ** n)) < n:
            break    
print(ans)

   답은 49이다.

Comments