1. 程式人生 > >趣味素數-迴文素數-java

趣味素數-迴文素數-java

問題描述:

所謂迴文素數是指,對一個素數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;
	}
}

}