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

Python017

java求最大公约数和最小公倍数,第1张

if(m%a==0&&n%a==0){

break//当得到最小公约数,就直接跳出循环,然后a就是最小公约数啊

}

同理if(max%m==0&&max%n==0){

break//当得到最大公倍数,就直接跳出循环,然后max就是最大公倍数啊

}

当然,还会有一种情况,就是最大公倍数就是m*n,所以在for循环里面,应该是max<=m*n哦。同理最小公约数,可能是1,不过你那里大于0,没问题的。

你的函数可以实现功能,只是如果只是要得到最小公约数和最大公倍数,不需要你那么麻烦吧,不是很明白你的需求额。

import java.util.Scanner

public class C{

public static int fun1(int a1,int b1){

int c

c=a1%b1

while (c>0)

{a1=b1

b1=c

c=a1%b1

//return b1

}

return b1//把return写在这里;

}

public static void main(String[] args) {

int a,b,temp

int m

Scanner in=new Scanner(System.in)

a=in.nextInt()

b=in.nextInt()

if(a<b)

{temp=aa=bb=temp

}

m=fun1(a,b)

System.out.println("最大公约数为:"+m)

System.out.println("最小公倍数为:"+(a*b)/m)

}

}