计算并输出10000000的所有完美数。
AC代码如下:
import java.util.Scanner;
public class Main {
public static int prime(int n){
int k;
if(n==1)
return 0;
k=(int) Math.sqrt(n);
for(int i=2;i<=k;i++)
if(n%i==0)
return 0;
return 1;
}
public static void main(String[] args){
int arr[]={2,3,5,7,11,13};
for(int i=0;i<6;i++){
//这里还要保证2^n-1也是质数
if(prime((int) (Math.pow(2,arr[i])-1))==1){
int num= (int) (Math.pow(2,arr[i]-1)*( Math.pow(2,arr[i])-1));
System.out.println(num);
}
}
}
}