题目描述
因为151既是一个质数又是一个回文数(从左到右和从右到左是看一样的),所以 151 是回文质数。
写一个程序来找出范围[a,b](5 <= a < b <= 100,000,00)( 一千万)间的所有回文质数;
输入输出格式
输入格式:
第 1 行: 二个整数 a 和 b .
输出格式:
因为151既是一个质数又是一个回文数(从左到右和从右到左是看一样的),所以 151 是回文质数。
写一个程序来找出范围[a,b](5 <= a < b <= 100,000,00)( 一千万)间的所有回文质数;
输入输出格式
输入格式:
第 1 行: 二个整数 a 和 b .
输出格式:
输出一个回文质数的列表,一行一个。
今天闲来无事,看了一个判断回文质数的题目,就想着用java进行了实现。既然是判断是否是回文质数,那个该数字一定要即使回文又是质数。
在判断是否是回文时,百度和谷歌网上的代码大多数都是通过除10运算进行比较,这样非常消耗内存和性能,因此本文采用了将数字转化为字符串的方式,对字符串进行回文判断。这样可以节省大量的系统性能。代码如下:
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;