java求解2个数的最小公倍数

求两个数的最小公倍数算法核心:最小公倍数=两整数的乘机/最大公约数;
package demo;
import  java.util.*;
public class demo01 {
        public static void main(String[] args){
            Scanner sc=new Scanner(System.in);
            int x=sc.nextInt();
            int y=sc.nextInt();
            int z=method(x,y);
            int m=multiple(x,y);
            System.out.println(m);
            System.out.println((x*y/z));
        }
        //求最大公约数
        public static int  method(int x,int y){
            int a,b,c;
            a=x;b=y;
            /* 余数不为0,继续相除,直到余数为0 */
            while(b!=0){
                c=a%b;
                a=b;
                b=c;
            }
            return a ;
        }
        //求最小的公倍数
    public static int multiple(int x,int y){
        int z ;
        for(z=x;;z++){
            if(z%x==0&&z%y==0){
                break;
            }
        }
        System.out.println("最小公倍数:"+z);
        return z;
    }
    }
c#计算:来源于网络已经存在代码

#include
int main()   /*  辗转相除法求最大公约数 */ 

    int m, n, a, b, t, c;
    printf("Input two integer numbers:\n");
    scanf("%d%d", &a, &b);
    m=a;   n=b;
    while(b!=0)  /* 余数不为0,继续相除,直到余数为0 */ 
    { c=a%b; a=b;  b=c;}
    printf("The largest common divisor:%d\n", a);
    printf("The least common multiple:%d\n", m*n/a);
}

 

 

你可能感兴趣的:(算法)