回文数,是指一个多位数在按位读时,无论是从右到左还是从左到右,其结果都是一样的特征。
回文素数,是回文数的同时,还是一个素数。
思路,构建两个辅助函数,一个用于判断回文,一个用于判断是否为素数。
参考代码:
package com.js.math;
import java.util.Scanner;
/**
* 回文素数
* 是指一个多位数在按位读时,无论是从右到左还是从左到右,其结果都是一样的特征
*/
public class PalindromeNum {
public static void main(String[] args) {
int boundary = 0;
Scanner scanner = new Scanner(System.in);
System.out.println("请输入查找范围...");
if(scanner.hasNext()){
boundary = scanner.nextInt();
for(int i = 0;i<boundary;i++){
if((i>10)&&compare(i)&&judge(i))
System.out.println("找到一个回文素数..."+i);
}
}
}
//p判断回文
public static boolean compare (int a){
boolean flag = false;
String strA = String.valueOf(a);
int length = strA.length();
int count = 0;
for(int j=0;j<length;j++){
if(strA.charAt(j)==strA.charAt(length-1-j)){
count++;
}
}
if(count==length){
flag = true;
}
return flag;
}
//判断素数
public static boolean judge(int a){
boolean flag = true;
for(int i=2;i<=Math.sqrt(a);i++){
if(a%i==0){
flag = false;
}
}
return flag;
}
}