黑马程序员技术交流社区

标题: JAVA经典基础题 [打印本页]

作者: sxyqjdh    时间: 2016-4-19 22:49
标题: JAVA经典基础题
题目:输入两个正整数m和n,求其最大公约数和最小公倍数。

------------------------------------------

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;
}
}






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2