2个回答
展开全部
public class T {
public static void main(String args[]) {
T t = new T();
t.test(9999999);
}
private void test(int d) {
for (int i = 0; i < d; i++) {
if (i == 11 || i == 101) {
System.out.println(i);
} else if (i > 101) {
if (isHW(i) && isPrime(i)) {
System.out.println(i);
}
}
}
}
/** 检查是否回文 */
private boolean isHW(int i) {
String s = String.valueOf(i);
int len = s.length();
if (len % 2 == 1) {
char[] cs = s.toCharArray();
boolean b = true;
for (int j = 0; j <= len / 2; j++) {
if (cs[j] != cs[len - j - 1]) {
b = false;
break;
}
}
return b;
}
return false;
}
/** 检查是否素数 */
private boolean isPrime(int i) {
int temp = (int) Math.sqrt(i);
for (int j = 2; j <= temp; j++) {
if (i % j == 0) {
break;
}
if (j >= temp) {
return true;
}
}
return false;
}
}
public static void main(String args[]) {
T t = new T();
t.test(9999999);
}
private void test(int d) {
for (int i = 0; i < d; i++) {
if (i == 11 || i == 101) {
System.out.println(i);
} else if (i > 101) {
if (isHW(i) && isPrime(i)) {
System.out.println(i);
}
}
}
}
/** 检查是否回文 */
private boolean isHW(int i) {
String s = String.valueOf(i);
int len = s.length();
if (len % 2 == 1) {
char[] cs = s.toCharArray();
boolean b = true;
for (int j = 0; j <= len / 2; j++) {
if (cs[j] != cs[len - j - 1]) {
b = false;
break;
}
}
return b;
}
return false;
}
/** 检查是否素数 */
private boolean isPrime(int i) {
int temp = (int) Math.sqrt(i);
for (int j = 2; j <= temp; j++) {
if (i % j == 0) {
break;
}
if (j >= temp) {
return true;
}
}
return false;
}
}
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2014-06-20
展开全部
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询