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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 初夜告白 中级黑马   /  2015-4-5 19:48  /  295 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 初夜告白 于 2015-4-5 19:57 编辑

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

评分

参与人数 1黑马币 +13 收起 理由
cishengbuhuan + 13

查看全部评分

0 个回复

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