每日一題——迴文素數
阿新 • • 發佈:2018-12-22
問題描述:
迴文素數既是素數,也是迴文數。例如,131是素數,也是迴文數,如313和757。
編寫一個顯示前100個迴文素數的程式。
每行顯示10個數字,正好用一個空格隔開,如下所示:
2 3 5 7 11 101 131 151 181 191
313 353 373 383 727 757 797 919 929……
public class PalindromicPrime { /* * 判斷是否為素數 * @return 是返回true,不是返回false */ public static boolean isPrime(int num) { for(int i = 2;i < num;i++) { if(num % i == 0) return false; } return true; } /* * 判斷是否迴文 * @return 是返回true,不是返回false */ public static boolean isPalindrome(int num) { String str = Integer.toString(num); for(int i = 0;i < str.length()/2;i++) { if(!(str.substring(i, i + 1).equals(str.substring(str.length()- i -1,str.length() - i)))) { return false; } } return true; } /* * 列印前100個迴文素數 */ public static void printPalindromicPrime() { int count = 0; int num = 2; while(count >= 0) { if(isPrime(num) && isPalindrome(num)) { count++; System.out.print(num + " "); if(count % 10 == 0) System.out.println(); } if(count == 100) break; num++; } } public static void main(String[] args) { printPalindromicPrime(); } }