题目描述
输入一个正整数 n,计算n的大于1且小于 n 的最大约数,并输出这个约数;如果n不存在大于1且小于n的最大约数,就输出 0 .
输入
一行一个正整数 n,( 1 ≤ n ≤ 1010 )
输出
一行一个正整数,表示 n的大于1且小于n的最大约数。
提示
方法和求n的大于1且小于n的最小约数差不多,也可以利用其结果来求(一个正整数n如果存在除了1和本身之外的最小约数k,则n/k就是n除了1和本身之外的最大约数。反之亦然)。一般来说(可以简单估算或者证明),使用穷举法,寻找除了1和本身之外的最小约数,比寻找除了1和本身之外的最大约数要快,所以本题最好就是先求除了1和本身之外的最小约数,然后再间接求除了1和本身之外的最大约数。