java习题 输入两个正整数m和n,求其最大公约数和最小公倍数
2017-05-17 20:58 backyyan 阅读(4577) 评论(0) 编辑 收藏 举报public class Example6 { public static void main(String args[]){ gcdlcm a =new gcdlcm(); System.out.println("兩數的最大公約數是:"+a.gcd(10, 16)); System.out.println("兩數的最小公倍數是:"+a.lcm(16, 10)); } } class gcdlcm{ int gcd(int m,int n){ if(m<n){ //這個判斷是爲了將大數放在前面 int temp=n; n=m; m=temp; } if(m%n==0){ return n; } else{ m%=n; return gcd(m,n); //這裡也可以寫成gcd(n,m),就省掉了前面的判斷了,會快一點 } } int lcm(int m,int n){ int i=1; if(m<n){ //這個判斷是爲了將大數放在前面 int temp=n; n=m; m=temp; } int lcm=m; while(lcm%n!=0){ lcm=m*i; i++; } return lcm; } }