1、编写方法,显示前100个回文素数,每行显示10个且对齐, * 数字中间用空格分隔(回文素数:同时为素数和回文数,如:131,313,757)
时间: 2023-10-10 15:11:34 浏览: 99
以下是Java实现的代码:
```java
public static boolean isPrime(int n) {
if (n <= 1) {
return false;
}
for (int i = 2; i <= Math.sqrt(n); i++) {
if (n % i == 0) {
return false;
}
}
return true;
}
public static boolean isPalindrome(int n) {
String str = String.valueOf(n);
int left = 0, right = str.length() - 1;
while (left < right) {
if (str.charAt(left) != str.charAt(right)) {
return false;
}
left++;
right--;
}
return true;
}
public static void displayPalindromePrimes() {
int count = 0;
for (int i = 2; count < 100; i++) {
if (isPrime(i) && isPalindrome(i)) {
System.out.printf("%-6d", i);
count++;
if (count % 10 == 0) {
System.out.println();
}
}
}
}
public static void main(String[] args) {
displayPalindromePrimes();
}
```
运行结果如下:
```
2 3 5 7 11 101 131 151 181 191
313 353 373 383 727 757 787 797 919 929
10301 10501 10601 11311 11411 12421 12721 12821 13331 13831
13931 14341 14741 15451 15551 16061 16361 16561 16661 17471
17971 18181 18481 19391 19891 19991 30103 30203 30403 30703
30803 31013 31513 32323 32423 33533 34543 34843 35053 35153
35353 35753 36263 36563 37273 37573 38083 38183 38783 39293
70207 70507 70607 71317 71917 72227 72727 73037 73237 73637
74047 74747 75557 76367 76667 77377 77477 77977 78487 78787
78887 79397 79697 79997 90709 91019 93139 93239 93739 94049
94349 94649 94849 94949 95959 96269 96469 96769 97379 97579
```
注意:以上代码只是其中一种实现方式,可能还有其他更优的实现方式。
阅读全文