判断回文数可以参考LeetCode 9,注意跳过所有偶数情况,可以节省时间。
LeetCode 9.判断回文数
public class Solution {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc = new Scanner(System.in);
int a = sc.nextInt();
int b = sc.nextInt();
for(int i = a;i<=b;i++){
if(i%2!=0&& isPalindrome(i)&&isPrimeNumber(i) ){
System.out.println(i);
}
}
}
private static boolean isPrimeNumber(int num) {
if (num<2 || num %2 ==0){
return false;
}
for (int i = 2; i <= Math.sqrt(num); i++) {
if (num %i == 0){
return false;
}
}
return true;
}
private static boolean isPalindrome(int num) {
String numString = num+"";
int low = 0;
int high = numString.length()-1;
while (low < high){
if (numString.charAt(low) != numString.charAt(high)){
return false;
}
low++;
high--;
}
return true;
}
}