关于JAVA编程的,输入一个数值N,求小于这个数值的所有回文素数。求伪代码和JAVA代码

在线等 急
2024-11-07 22:35:56
推荐回答(2个)
回答(1):

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;
}

}

回答(2):