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); } }
大家可以参考毛票票以前发布的文章。