每日一题——回文素数

问题描述:
回文素数既是素数,也是回文数。例如,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();
	}
}

猜你喜欢

转载自blog.csdn.net/weixin_43574957/article/details/85144405