Java求最大公约数和最小公倍数

来源:互联网 发布:东华金云网络股份公司 编辑:程序博客网 时间:2024/06/01 09:51
import java.util.Scanner;public class Muitilpie {    public static void main(String[] args) {        Scanner in=new Scanner(System.in);        int x=in.nextInt();        int y=in.nextInt();        System.out.println("辗转相除法:最大公约数"+Muitilpie.Method(x, y)+",最小公倍数"+x*y/Muitilpie.Method(x, y));        System.out.println("相减法:最大公约数"+Muitilpie.Method1(x, y)+",最小公倍数"+x*y/Muitilpie.Method1(x, y));        System.out.println("穷举法:最大公约数"+Muitilpie.Method2(x, y)+",最小公倍数"+Muitilpie.Method3(x, y));    }    //辗转相除法,求最大公约数    public static int Method(int x,int y){        int a,b,c;        a=x;        b=y;        while(b!=0){            c=a%b;            a=b;            b=c;        }        return a;    }    //相减法,求最大公约数    public static int Method1(int x,int y){        while(x!=y){            if(x>y){                x=x-y;            }else{                y=y-x;            }        }        return x;    }    //穷举法,求最大公约数    public static int Method2(int x,int y){        for(int z=x;z>=0;z--){            if(x%z==0&&y%z==0){                return z;            }        }        return 1;    }    //穷举法,求最小公倍数    public static int Method3(int x,int y){        for(int z=x;;z++){            if(z%x==0&&z%y==0){                return z;            }        }    }}

这里写图片描述

0 0
原创粉丝点击