Java 计算3个数字的GCD的方法是什么
找到三个数字的GCD(最大公除法)的方法是什么?Java 计算3个数字的GCD的方法是什么,java,loops,Java,Loops,找到三个数字的GCD(最大公除法)的方法是什么? 下面的代码显示了使用2个数字的方法,该方法使用欧几里德算法的基本版本(因为输入是正的)来计算GCD public class GCD { public static void main(String[] args) { int age1 = 10; int age2 = 15; int multiple1OfGCD = age1; int multiple2OfGCD = age2; while (multi
下面的代码显示了使用2个数字的方法,该方法使用欧几里德算法的基本版本(因为输入是正的)来计算GCD
public class GCD {
public static void main(String[] args) {
int age1 = 10;
int age2 = 15;
int multiple1OfGCD = age1;
int multiple2OfGCD = age2;
while (multiple1OfGCD != multiple2OfGCD ) {
if (multiple1OfGCD > multiple2OfGCD) {
multiple1OfGCD -= multiple2OfGCD;
}
else {
multiple2OfGCD -= multiple1OfGCD;
}
}
System.out.println("The GCD of " + age1 + " and " + age2 + " is " + multiple1OfGCD);
int noOfPortions1 = age1 / multiple1OfGCD;
int noOfPortions2 = age2 / multiple1OfGCD;
System.out.println("So the cake should be divided into "
+ (noOfPortions1 + noOfPortions2));
System.out.println("The " + age1 + " year old gets " + noOfPortions1
+ " and the " + age2 + " year old gets " + noOfPortions2);
}
}
我希望输出如下图所示:
.你的思路是对的,希望能有所帮助
public static void main (String[] args)
{
int a,b,c;
a=10;
b=15;
c=20;
int d= gcd(a,b,c);
System.out.println("The GCD of "+a+", "+b+" and "+c+ " is "+d);
int cake=a/d+b/d+c/d;
System.out.println("So the cake is divided into "+ cake);
System.out.println("The "+a+ " Years old get "+a/d );
System.out.println("The "+b+ " Years old get "+b/d );
System.out.println("The "+c+ " Years old get "+c/d );
}
public static int gcd(int a, int b, int c){
return calculateGcd(calculateGcd(a, b), c);
}
public static int calculateGcd(int a, int b) {
if (a == 0) return b;
if (b == 0) return a;
if (a > b) return calculateGcd(b, a % b);
return calculateGcd(a, b % a);
}
}
为什么人们认为这个问题显示了研究的努力?堆栈溢出不是外包作业的合适地方。猜猜OP的以下问题是什么:LOL有人想猜猜OP的下一个问题是什么吗?