求100开始的50个回文素数,每5个一行。Java代码
时间: 2024-12-15 18:20:53 浏览: 2
在Java中,我们可以创建一个程序来生成从100开始到150之间的所有回文素数,并按照每5个一组的方式打印它们。首先,我们需要了解回文数和素数的概念,然后编写代码来检查并筛选。
**回文数**是一个正整数,无论从左读还是从右读都是一样的。例如,121、12321等都是回文数。
**素数**是指只有两个正因数(1和它本身)的大于1的自然数。例如,2、3、5、7等。
以下是实现这个功能的Java代码示例:
```java
public class Main {
public static void main(String[] args) {
for (int i = 100; i <= 150; ) {
if (isPalindrome(i) && isPrime(i)) {
System.out.println(i + " ");
i++;
} else {
i += 2; // 回文偶数不是素数,跳过
}
if ((i % 5 == 0 || i == 151) && i != 100) { // 打印完毕一组,换行
System.out.println();
}
}
}
// 判断是否是回文数
private static boolean isPalindrome(int num) {
int reversedNum = 0;
int originalNum = num;
while (num != 0) {
int digit = num % 10;
reversedNum = reversedNum * 10 + digit;
num /= 10;
}
return originalNum == reversedNum;
}
// 判断是否是素数
private static boolean isPrime(int num) {
if (num <= 1) {
return false;
}
for (int i = 2; i <= Math.sqrt(num); i++) {
if (num % i == 0) {
return false;
}
}
return true;
}
}
阅读全文