ABC057: C - Digits in Multiplication
問題
C: Digits in Multiplication - AtCoder Beginner Contest 057 | AtCoder
解答
より、とかける。ここで、対称性からとして良い。 また、値を最小化したとき、桁数も最小化できる。 を最小化するためには、までを割り切る最大値を全探索すればよい。
int main() { ll N; cin >> N; ll a = 1; for (ll i = 1; i * i <= N; i++) { if (N % i == 0) { a = std::max(a, i); } } auto b = N / a; std::stringstream ss; ss << b; std::cout << ss.str().size() << "\n"; return 0; }