java求素数因子数字和
时间: 2024-09-20 14:09:58 浏览: 33
在Java中,计算一个给定正整数的素数因子数字和(也称作质因数分解的和),首先需要找出所有素数因子,然后将它们相加。以下是实现这个功能的一个简单方法:
1. **检查素数**:
```java
boolean isPrime(int num) {
if (num <= 1) return false;
for (int i = 2; i * i <= num; i++) {
if (num % i == 0) return false;
}
return true;
}
```
2. **分解质因数**:
```java
List<Integer> primeFactors(int n) {
List<Integer> factors = new ArrayList<>();
for (int i = 2; i <= n; i++) {
while (n % i == 0 && isPrime(i)) {
factors.add(i);
n /= i;
}
}
return factors;
}
```
3. **计算数字和**:
```java
int sumOfPrimeFactors(int number) {
List<Integer> factors = primeFactors(number);
int sum = 0;
for (int factor : factors) {
sum += factor;
}
return sum;
}
```
4. **完整示例**:
```java
public static void main(String[] args) {
int inputNumber = 123456789;
int result = sumOfPrimeFactors(inputNumber);
System.out.printf("The sum of prime factors of %d is %d%n", inputNumber, result);
}
```
当运行上面的代码,它会输出输入数字的素数因子数字和。
阅读全文