Java 使用基础知识:GCF和LCD

Java 使用基础知识:GCF和LCD,java,Java,所以是的,我要把我上次说的话重新措辞。我正在做一个程序来寻找两个数字的GCF和LCD。有几种方法可以找到GCF,即: gcf = BigInteger.valueOf(x).gcd(BigInteger.valueOf(y)).intValue(‌​); 或者欧几里德算法,它有两种类型,减法和余数法 我们不允许使用任何数组或方法。我们必须使用控制结构和重复结构 我做了减法,但我发现那里没有运气,所以我现在尝试了余数法 intia=0,iB=0,iG=0,iL=0,iR=0; 如果(iA!=iB

所以是的,我要把我上次说的话重新措辞。我正在做一个程序来寻找两个数字的GCF和LCD。有几种方法可以找到GCF,即:

gcf = BigInteger.valueOf(x).gcd(BigInteger.valueOf(y)).intValue(‌​);
或者欧几里德算法,它有两种类型,减法和余数法

我们不允许使用任何数组或方法。我们必须使用控制结构和重复结构

我做了减法,但我发现那里没有运气,所以我现在尝试了余数法

intia=0,iB=0,iG=0,iL=0,iR=0;
如果(iA!=iB){
如果(iA>iB){
iR=iA%iB;
iG=iB/iR;
iL=(iA*iB)/iG;
}
否则{
iR=iB%iA;
iG=iA/iR;
iL=(iA*iB)/iG;
}
System.out.println(“GCF为:“+iG”);
System.out.println(“LCD为:“+iL”);
}
否则{
System.out.println(“GCF为:“+iA”);
System.out.println(“LCD为:“+iA”);
现在余数方法建议,如果余数==0,那么最后一个余数值是两个数字的GCF。我希望执行
while
do while
结构,但我想不出一种方法。我的代码现在以错误的方式输入

e、 g

第一个号码:120
第二个号码:50
GCF为:2
但(120,50)的gcf应为10。如果求解,则如下所示:

iR = 120 % 50
iG = 50 / 20
无论如何,如果两个数字的乘积除以GCF,就可以得到LCD,所以如果我找不到GCF,就有点忙了


非常感谢您的任何帮助。提前谢谢您!

当然,这里是使用余数法的答案

intia=0,iB=0,iL=0,iR;
系统输出打印(“输入第一个数字:”);
iA=变量nextInt();
系统输出打印(“输入第二个数字:”);
iB=变量nextInt();
iL=(iA*iB);
如果(iA!=iB){
如果(iA>iB){
做{
iR=iA%iB;
iA=iB;
iB=iR;
}而(iR!=0);
iL/=iA;
System.out.println(“GCF为:“+iA”);
}
else if(iB>iA){
做{
iR=iB%iA;
iB=iA;
iA=iR;
}而(iR!=0);
iL/=iB;
System.out.println(“GCF为:“+iB”);
}   
System.out.println(“LCD为:“+iL”);
}
否则{
System.out.println(“GCF为:“+iA”);
System.out.println(“LCD为:“+iA”);
}