**6.26(回文素數(shù))回文素數(shù)是指一個數(shù)同時為素數(shù)和回文數(shù)咪鲜。例如:131是一個素數(shù)员辩,同時也是一個回文素數(shù)。數(shù)學313和757也是如此逆日。編寫程序嵌巷,顯示前100個回文素數(shù)。每行顯示10個數(shù)屏富,數(shù)字中間用一個空格隔開晴竞。如下所示:
2 3 5 7 11 101 131 151 181 191
313 353 373 383 727 757 787 797 919 929
…
**6.26(Palindromic prime) A palindromic prime is a prime number and also palindromic. For example, 131 is a prime and also a palindromic prime, as are 313 and 757. Write a program that displays the first 120 palindromic prime numbers. Display 10 numbers per line, separated by exactly one space, as follows:
2 3 5 7 11 101 131 151 181 191
313 353 373 383 727 757 787 797 919 929
…
下面是參考答案代碼:
// https://cn.fankuiba.com
public class Ans6_26_page202 {
public static void main(String[] args) {
isPrime(100,10);
}
public static void isPrime(int n, int line) {
int count = 0; // Count the number of prime numbers
int number = 2; // A number to be tested for primeness
System.out.println("The first "+n+" numbers are \n");
// Repeatedly find prime numbers
while (count < n) {
// Assume the number is prime
boolean isPrime = true; // Is the current number prime?
// Test if number is prime
for (int divisor = 2; divisor <= number / 2; divisor++) {
if (number % divisor == 0) { // If true, number is not prime
isPrime = false; // Set isPrime to false
break; // Exit the for loop
}
}
// Test if number is palindrome
boolean isPalindrome = true;
String strNumber = number+"";
int low = 0;
int high = strNumber.length() - 1;
while (low < high) {
if (strNumber.charAt(low) != strNumber.charAt(high)) {
isPalindrome = false;
break;
}
low++;
high--;
}
// Print the prime number and increase the count
if (isPrime && isPalindrome) {
count++; // Increase the count
if (count % line == 0) {
// Print the number and advance to the new line
System.out.println(number);
}
else
System.out.print(number + " ");
}
// Check if the next number is prime
number++;
}
}
}
適用Java語言程序設計與數(shù)據(jù)結(jié)構(gòu)(基礎篇)(原書第11版)Java語言程序設計(基礎篇)(原書第10/11版)更多內(nèi)容