趣味素數-迴文素數-java
阿新 • • 發佈:2019-01-07
問題描述:
所謂迴文素數是指,對一個素數n從左往右和從右往左讀結果值相同且是素數,即稱為迴文素數。
求不超過1000的迴文素數。
public class Main { public static void main(String[]Args){ int count=0; //計數 for(int i=1 ; i<1000 ; i++){ //設定範圍 if(isPrimeNum(i)&&fanxuNum(i)==i){ //輸出條件:本身和反序數和本身相同 System.out.printf("%3d ",i); count++; if(count%7==0){ //滿七個數 換行 System.out.println(); } } } } public static boolean isPrimeNum(int a){ //判斷是否是素數 for(int i=2 ; i<=Math.sqrt(a) ; i++){ if(a%i==0){ return false; } } return true; } public static int fanxuNum(int a){ //求反序數 int length1 = (a+"").length(); if(length1==1){ return a; } if(length1==2){ int x = a/10; int y = a%10; return y*10+x; } else{ int x = a/100; int y = a/10%10; int z = a%10; return x+y*10+z*100; } } }