【题目描述】
【思路】
枚举 扩展欧几里得定理
最小那个数a的范围是:[2, 根号 n], 那么最大那个数b就是 n /a
import java.util.Scanner;
class Main{
//判断a、b是否为互为质因子
public static boolean gcd(int a, int b){
if(b == 0 ) return a ==1 ;
return gcd(b, a % b);
}
public static void main(String args[]){
Scanner reader = new Scanner(System.in);
int n = reader.nextInt();
int ans = 0;
//最小那个数的范围是:[2, 根号 n]
for(int a = 2; a * a <= n; a++){
if( n % a != 0) continue;//a不是n的质因子
int b = n / a;
if( gcd(a,b) ){//a、b互为质因子
ans = b;
break;
}
}
System.out.println(ans);
}
}