小張是軟件項目經理,他帶領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);
}