【发布时间】:2020-03-25 13:02:42
【问题描述】:
我试图找出一个解决方案,通过它我可以以最佳方式找到 2 个数字的 GCD, 因此,我需要一些帮助来确定我提出的程序是否适用于所有可能的情况,或者是否有任何情况会崩溃,或者我是否可以对其进行更多改进以使其成为最佳解决方案。
程序:
public static void main(String[] args) {
int a= 153;
int b= 81;
boolean flag = true;
int gcd = 1;
while(flag)
{
if(a>b && a%b ==0)
{
flag = false;
gcd = b;
}
else if(b>a && b%a ==0)
{
flag=false;
gcd = a;
}
else if( a>b)
a = a-b;
else
b = b-a;
}
System.out.println(gcd);
}
请帮助我找出正确的解决方案,在此先感谢。
【问题讨论】:
标签: java greatest-common-divisor