小张是软件项目经理,他带领3个开发组。工期紧,今天都在加班呢。为鼓舞士气,小张打算给每个组发一袋核桃(据传言能补脑)。他的要求是:
1. 各组的核桃数量必须相同
2. 各组内必须能平分核桃(当然是不能打碎的)
3. 尽量提供满足1,2条件的最小数量(节约闹革命嘛)
代码:
import java.util.Scanner;
public class Main {
public static int gcd(int p,int q)
{
if(q==0) return p;
int r=p%q;
return gcd(q,r);
}
public static void main(String[] args) {
int a,b,c,s;
Scanner sa=new Scanner(System.in);
a=sa.nextInt();
b=sa.nextInt();
c=sa.nextInt();
s=gcd(a,b);
s=a*b/s;
a=gcd(s,c);
s=s*c/a;
System.out.println(s);
}
}
欧几里得算法(辗转相除法)用于求两个数的最大公约数,又由于两数字之积=最大公约数*最小公倍数,所以也可求最小公倍数
public static int gcd(int p,int q)
{
if(q==0) return p;
int r=p%q;
return gcd(q,r);
}