Java程序查找数字的偶数因数之和


在这篇文章中,我们将使用Java查找给定数字的偶数因数之和。我们将首先检查数字是否为偶数,然后识别其所有因数,将偶数因数加起来,最后显示结果。

问题陈述

编写一个Java程序来查找数字的偶数因数之和。以下是相同的演示 -

输入

num=16

输出

The sum of even factors of the number is 
30

查找数字的偶数因数之和的步骤

以下是查找数字的偶数因数之和的步骤 -

  • 从导入所需的类开始。
  • 检查数字是否为偶数,返回0。
  • 对数字进行因式分解,我们将使用一个循环来查找直到数字平方根的所有因数。
  • 将偶数因数加起来
  • 显示偶数因数之和。

Java程序查找数字的偶数因数之和

要查找数字的偶数因数之和,Java代码如下 -

import java.util.*;
import java.lang.*;
public class Demo{
   public static int factor_sum(int num){
      if (num % 2 != 0)
      return 0;
      int result = 1;
      for (int i = 2; i <= Math.sqrt(num); i++){
         int count = 0, current_sum = 1;
         int current_term = 1;
         while (num % i == 0){
            count++;
            num = num / i;
            if (i == 2 && count == 1)
               current_sum = 0;
            current_term *= i;
            current_sum += current_term;
         }
         result *= current_sum;
      }
      if (num >= 2)
         result *= (1 + num);
      return result;
   }
   public static void main(String argc[]){
      int num = 36;
      System.out.println("The sum of even factors of the number is ");
      System.out.println(factor_sum(num));
   }
}

输出

The sum of even factors of the number is
78

代码解释

首先,我们将从java.utiljava.lang包中导入所有类,之后我们将初始化一个名为Demo的类,其中包含一个名为“factor_sum”的函数。它首先检查数字是否为偶数。如果不是,则返回0。使用for循环,它迭代可能的因数,并且嵌套的while循环对数字进行因式分解。它更新偶数因数之和,并且在循环之后,它将结果乘以任何剩余的素因数。main方法初始化数字调用factor_sum并打印结果。

更新于:2024年9月5日

741 次查看

启动您的职业生涯

通过完成课程获得认证

开始
广告