import sys
input = sys.stdin.readline
import math
a,b = map(int,input().split())
#효율 좋은 방법을 찾으려면, a**b의 "자릿수"만 계산하는 것이므로,
로그가 가장 정확합니다.
#ex) 2^4 = 16는 2자리수, 4*(log10(2)) = 4 * 0.30xxx = 1.2xxx...이므로,
가우스 함수를 취하면 1, 그 값에 1을 더해주면 2자리가 되는 것을 확인 할 수 있습니다.
#ex2) 12^3 = 1728은 4자리수, 3*(log10(12)) = 3*(2*log10(2) + log10(3))
= 3*(0.60xxx + 0.47xxx) = 3*(1.07xxx) = 3.2xxxx 이므로,
가우스함수를 취하면 3이고 이에 1을 더하면 4가 됩니다.#
N = b * (math.log10(a))
N = int(N) + 1
print(N)
29203번 자릿수라는 문제입니다.
상용로그를 사용하면 풀리는 간단한 문제입니다.
이 글은 제게 많은 도움이 되었습니다.