Java求两个正整数的最大公约数和最小公倍数
题目:输入两个正整数m和n,求其最大公约数和最小公倍数。
程序分析:利用辗除法。
最大公约数:
publicclassCommonDivisor{
publicstaticvoidmain(Stringargs[])
{
commonDivisor(24,32);
}
staticintcommonDivisor(intM,intN)
{
if(N<0||M<0)
{
System.out.println("ERROR!");
return-1;
}
if(N==0)
{
System.out.println("thebiggestcommondivisoris:"+M);
returnM;
}
returncommonDivisor(N,M%N);
}
}
最小公倍数和最大公约数:
importjava.util.Scanner;
publicclassCandC
{
//下面的方法是求出最大公约数
publicstaticintgcd(intm,intn)
{
while(true)
{
if((m=m%n)==0)
returnn;
if((n=n%m)==0)
returnm;
}
}
publicstaticvoidmain(Stringargs[])throwsException
{
//取得输入值
//Scannerchin=newScanner(System.in);
//inta=chin.nextInt(),b=chin.nextInt();
inta=23;intb=32;
intc=gcd(a,b);
System.out.println("最小公倍数:"+a*b/c+"\n最大公约数:"+c);
}
}
大家可以参考毛票票以前发布的文章。