A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© sxyqjdh 中级黑马   /  2016-4-19 22:49  /  429 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

题目:输入两个正整数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;
}
}

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马