这里先提一个知识点(源于3491完全平方数)
完全平方数的充要条件是其所有质因数的次方都是偶次方
static void isPr(int n){
//从最小的质数开始枚举
for(int i = 2; i <= n / i; ++i){
//cnt是为了记录质因数的次幂的次数
int cnt = 0;
//n是i的倍数时(i是n的因数),看n能/=多少次i,即求次幂的次数
while(n % i == 0){
n /= i;
cnt++;
}
if(cnt != 0)System.out.println(i + " " + cnt);
}
//如果for循环完后,n还大于1,则这个n本身就是一个质因数,且次数为1
if(n > 1)System.out.println(n + " " + "1");
//质因数全部输出完毕后,输出一个空行,下面这行其实可有可无
//这个板子输出就是输出若干行,每行两个数字,完毕后输出一个空行
System.out.println();
}