2019-08-04-猫扑素数
2019-08-04 本文已影响0人
王元
猫扑素数:指以2开头,后面跟任意个3的十进制数。如:2、23、233等的所有素数
public class MopNumber {
/**
* 是否是猫扑数
* 猫扑数:指以2开头,后面跟任意个3的十进制数。如:2、23、233等。
* @param num
* @return
*/
private static boolean isMopNumber(int num) {
if(num < 10) {
return num == 2;
} else if(num % 10 == 3 && isMopNumber(num / 10)) {
return true;
}
return false;
}
/**
* 是否是素数
* 素数:在大于1的自然数中,除了1和它本身以外不再有其他因数,这样的数称为素(质)数。
* @param num
* @return
*/
private static boolean isPrime(int num) {
if(num < 2) {//素数不小于2
return false;
} else {
for(int i = 2; i < Math.sqrt(num); i++) {
if(num % i == 0) {
return false;
}
}
}
return true;
}
public static void main(String[] args) {
for(int i = 0; i < 10000; i++) {
if(isMopNumber(i)) {
if(isPrime(i)) {
System.out.println(i);
}
}
}
}
}
以上就是猫扑素数的求解过程了