以下是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函数中,初始化了两个值,并在上面调用了上述函数。相关结果显示在屏幕上。