做了一道练习题:输入两个正整数m和n,求其最大公约数和最小公倍数。
- public class Demo {
- 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);
- }
- }
- 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;
- }
- }
复制代码
|
|