如果说为了尽量减少计算步骤,可以使用数学中的方式解题,貌似是叫什么连减法。某些程序中,减少运算步骤是必须的。
这儿用一种比较简单的方法。
int num1=12,num2=7; for(int i=num2;i>0;i--){ if(num1%i==0&&num2%i==0){ System.out.println(i+"是"+num1+"和"+num2+"的最大公约数"); break; } } for(int i=num2;i<=num1*num2;i++){ if(i%num1==0&&i%num2==0){ System.out.println(i+"是"+num1+"和"+num2+"的最小公倍数"); break; } }