147AC - ABC058C: Digits in Multiplication
ABC057-C (300 points)
問題
つの整数 に対して, を「 進表記における, の桁数と の桁数のうち大きい方」と定義する.
このとき, 整数 に対して, つの正の整数 が を満たすように動くとき, の最小値を求める.
- 入力は全て整数
方針
- となるとき( が平方数)がベスト, となるとき( が素数)が最悪.
- から始めて, 約数が見つかるまで を ずつ減らしていく.
import math # input N = int(input()) i = int(math.sqrt(N)) while i: if N % i == 0: print(len(str(N // i))) break else: i -= 1