教大家一个不常见的求最大公约数和最小公倍数

1.其实也很简单:

算法就是:例 有 a,b两个数 必须a大于b

(一)最公约数:条件就是a%b 如果等于0 那么最大公约数就是b,否则就是用 a = b  ,,b=a%b 

(二)最小公倍数:a*b/(最大公约数)

是不是很简单,讲解的不是很好,请看代码;

public static void main(String[] args) {

Scanner input = new Scanner(System.in);

//简单的输入两个数

System.out.println("请输入第一个数:");
int m = input.nextInt();
System.out.println("请输入第二个数:");
int n = input.nextInt();

System.out.println("最小公倍数"+MinCommonMultiple(m,n));
System.out.println("最大公约"+maxgongyueshu(m,n));
}
public static int maxgongyueshu(int a,int b){

//这个if就把最大的数给a;
if(a<b)
{
int temp = a;
a = b;
b = temp;

//这个就是按上面说的算法写的
while(a%b != 0){
int temp = a%b;
a = b;
b = temp;
}
return b;
}

//求最小公倍数
public static int MinCommonMultiple(int a,int b){
return a*b/maxgongyueshu(a, b);
}

代码简单,谢谢。

我会一直写下去的!!

posted @ 2018-04-10 16:49  帅朱朱  阅读(312)  评论(1)    收藏  举报