[AtCoder]ABC 057 C – Digits in Multiplication

【問題】

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

とする方が若干早いようだ。

コメント

タイトルとURLをコピーしました