Java查找回文素数及各位数字之和
Java查找回文素数及各位数字之和
在这篇博客文章中,我们将探讨如何使用Java查找给定范围内的回文素数,并计算每个回文素数的各位数字之和。
什么是回文素数?
回文素数是指既是素数又是回文的数字。
- 素数: 只能被1和自身整除的自然数(大于1)。
- 回文: 正序和倒序读取都相同的数字。
Java代码示例
以下是用Java编写的程序,用于查找给定范围内的所有回文素数,并计算每个回文素数的各位数字之和:
import java.util.ArrayList;
import java.util.List;
public class PrimePalindrome {
public static boolean isPrime(int number) {
if (number <= 1) {
return false;
}
for (int i = 2; i <= Math.sqrt(number); i++) {
if (number % i == 0) {
return false;
}
}
return true;
}
public static boolean isPalindrome(int number) {
int originalNumber = number;
int reverseNumber = 0;
while (number != 0) {
int digit = number % 10;
reverseNumber = reverseNumber * 10 + digit;
number /= 10;
}
return originalNumber == reverseNumber;
}
public static int getDigitSum(int number) {
int sum = 0;
while (number != 0) {
int digit = number % 10;
sum += digit;
number /= 10;
}
return sum;
}
public static void main(String[] args) {
int N = 100; // 请根据需求设置 N 的值
List<Integer> primePalindromeNumbers = new ArrayList<>();
for (int i = 1; i <= N; i++) {
if (isPrime(i) && isPalindrome(i)) {
primePalindromeNumbers.add(i);
}
}
for (int number : primePalindromeNumbers) {
int digitSum = getDigitSum(number);
System.out.println('回文素数:' + number + ',各位数字之和:' + digitSum);
}
}
}
代码说明
- isPrime(int number): 此函数检查给定的数字是否为素数。
- isPalindrome(int number): 此函数检查给定的数字是否为回文。
- getDigitSum(int number): 此函数计算给定数字的各位数字之和。
- main(String[] args): 主函数,程序从这里开始执行。它首先找到给定范围内 (1 到 N) 的所有回文素数,并将它们存储在一个列表中。然后,它遍历列表,并使用
getDigitSum()函数计算每个回文素数的各位数字之和。最后,程序打印每个回文素数及其各位数字之和。
总结
这篇文章提供了一个简单的Java程序,用于查找给定范围内的回文素数并计算其各位数字之和。该程序演示了如何有效地结合素数和回文的概念。您可以修改代码以探索不同范围内的回文素数。
原文地址: https://www.cveoy.top/t/topic/Yma 著作权归作者所有。请勿转载和采集!