用于两个数字的除数的Java程序

以下是Java中两个数字的公约数的示例-

示例

public class Demo{
   static int find_gcd(int val_1, int val_2){
      if (val_1 == 0)
      return val_2;
      return find_gcd(val_2%val_1,val_1);
   }
   static int common_divisors(int val_1,int val_2){
      int no = find_gcd(val_1, val_2);
      int result = 0;
      for (int i=1; i<=Math.sqrt(no); i++){
         if (no%i==0){
            if (no/i == i)
               result += 1;
            else
               result += 2;
         }
      }
      return result;
   }
   public static void main(String args[]){
      int val_1 = 68, val_2 = 34;
      System.out.println("The common divisors between the two numbers is ");
      System.out.println(common_divisors(val_1, val_2));
   }
}

输出结果

The common divisors between the two numbers is
4

名为Demo的类包含一个静态函数,该函数带有两个值,并使用递归返回最大的公约数。另一个函数称为此最大公约数函数,并迭代1到最大公约数平方根之间的数字。

接下来,条件是迭代的值的模数应等于零,然后,将数字除以迭代的值应等于迭代的值,然后将结果(最初初始化为0)增加1.如果不满足条件,则结果加2。在main函数中,初始化了两个值,并在上面调用了上述函数。相关结果显示在屏幕上。