【問題】
C - Digits in Multiplication
AtCoder is a programming contest site for anyone from beginners to experts. We hold weekly programming contests online.
【方針】素因数を数え上げる。\(\sqrt{n}\)まで調べれば十分。
【提出コード】
#input
n = int(input())
#output
import math
m = int(math.sqrt(n))
l = []
for i in range(1, m+1):
if n % i == 0:
l.append(max(len(str(i)), len(str(n//i))))
print(min(l))
【提出結果】
Submission #26408536 - AtCoder Beginner Contest 057
AtCoder is a programming contest site for anyone from beginners to experts. We hold weekly programming contests online.
【追記】桁数を数えるのに
len(str(n))
とするより、
int(math.log10(n))+1
とする方が若干早いようだ。
コメント