为什么输出最大公约数是1;
用debug调试时发现没有经过for循环,该怎么改
因为你在if中加了break;所以for循环只执行一次,你可以将代码改成这样.
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int a = sc.nextInt();
int b = sc.nextInt();
int min = a<b?a:b;
//int i = 1;
for(int i=1;i<min;i++){
if(a%i==0&&b%i==0){
System.out.println("最大公约数:"+i);
System.out.println("最小公倍数:"+(i*(a/i)*(b/i)));
//break;
}
}
}