黑马程序员技术交流社区

标题: 求最大公约数和最小公倍数 [打印本页]

作者: 夜空中最亮的星    时间: 2015-6-27 23:09
标题: 求最大公约数和最小公倍数
做了一道练习题:输入两个正整数m和n,求其最大公约数和最小公倍数。

  1. public class Demo {
  2.         public static void main(String args[]){
  3.        gcdlcm a =new gcdlcm();
  4.        System.out.println("两数的最大公约数是:"+a.gcd(10, 16));
  5.        System.out.println("两数的最小公倍数是:"+a.lcm(16, 10));
  6.    }               
  7. }
  8. class gcdlcm{
  9.         int gcd(int m,int n){
  10.                 if(m<n){   //这个判断是为了将大数放在前面
  11.                         int temp=n;
  12.                         n=m;
  13.                         m=temp;                       
  14.                 }
  15.                 if(m%n==0){   
  16.                         return n;
  17.                 }
  18.                 else{
  19.                         m%=n;
  20.                         return gcd(m,n);
  21.                 }       
  22.         }
  23.         int lcm(int m,int n){
  24.                 int i=1;
  25.                 if(m<n){   //这个判断是为了将大数放在前面
  26.                         int temp=n;
  27.                         n=m;
  28.                         m=temp;                       
  29.                 }
  30.                 int lcm=m;
  31.                 while(lcm%n!=0){
  32.                         lcm=m*i;
  33.                         i++;
  34.                 }
  35.                 return lcm;
  36.         }
  37. }
复制代码




作者: 小骆驼    时间: 2015-6-28 09:59
嗯 很厉害,悟了,顿悟
作者: 走在这里    时间: 2015-6-28 10:05
好厉害的样子:funk:
作者: 1958078929    时间: 2015-6-28 10:06
谢谢分享
作者: JJJD    时间: 2015-6-28 10:09
学习了,谢谢分享
作者: 水壶vs兔子    时间: 2015-6-28 11:51
还没仔细分析过类似问题,谢谢分享!
作者: Wait_For    时间: 2015-6-28 14:53
好东西!赞一个!




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