import java.math.*;
public class Exercise14_15{
public static void main(String[] args){
System.out.println("p 2^p-1");
for (int i = 1;i <= 100;i++){
BigInteger mersenne = new BigInteger(index(i) + "");
BigInteger item4 = new BigInteger(i + "");
if (isMersennePrime(i) && isPrime(item4)){
System.out.print(item4);
System.out.print(" ");
System.out.println(mersenne);
}
}
System.exit(0);
}
public static boolean isPrime(BigInteger o){
boolean result = true;
BigInteger item5 = new BigInteger(2 + "");
if (o.equals(item5))
result = true;
else if (o.equals(new BigInteger(1 + "")))
result = false;
else{
for(;o.compareTo(item5)==1;item5 = item5.add(BigInteger.ONE)){
if ((o.mod(item5)).equals(new BigInteger(0 + ""))){
result = false;
continue;
}
}
}
return result;
}
public static boolean isMersennePrime(int i){
boolean result2 = false;
if (isPrime(index(i)))
result2 = true;
return result2;
}
public static BigInteger index(int i){
BigInteger item = new BigInteger(1 + "");
BigInteger item2 = new BigInteger(2 +"");
for(int b = 1;b <= i;b++){
item = item.multiply(item2);
}
BigInteger finalItem = item.subtract(BigInteger.ONE);
return finalItem;
}
}
求100以下的Mersenne素数
最新推荐文章于 2022-07-12 00:26:55 发布