题目描述
对于两个给定的正整数 X,Y,定义 M(X,Y) 为:X 和 Y 两者位数的较大值。例如 M(120,5)=3,因为 120 是 3 位数,5 是 1 位数。
任何正整数 N 都可以分解为两个正整数的乘积:N=X×Y。我们把这样的 (X,Y) 称为 N 的一对因子对(注意 X 和 Y 可能相等)。现在给定整数 N,请你求出 N 所有可能的因子对中,M(X,Y) 的最小值。
输入格式
一行,一个正整数 N。
输出格式
一行,一个整数,表示所有因子对中 M(X,Y) 的最小值。
样例
10000
3
100000007
9
9876543210
6
样例解释
- 样例 1:10000=100×100,此时 X 和 Y 都是 3 位数,M=3,且无法得到更小的 M。
- 样例 2:100000007 自身是素数,因子对只有 (1,100000007),位数分别为 1 和 9,因此 M=9。
- 样例 3:可通过合适的因子对使 M 达到 6,例如 9876543210=99990×98769 或其它,最终最小值为 6。
数据范围与提示
- 1≤N≤1010。