2028 Lowest Common Multiple Plus
Problem Description
求n个数的最小公倍数。
Input
输入包含多个测试实例,每个测试实例的开始是一个正整数n,然后是n个正整数。
Output
为每组测试数据输出它们的最小公倍数,每个测试实例的输出占一行。你可以假设最后的输出是一个32位的整数。
Sample Input
2 4 6
3 2 5 7
Sample Output
12
70
code:
1 #include<iostream> 2 using namespace std; 3 4 int gcd(int a, int b) 5 { 6 int n; 7 if(a<b) 8 { 9 n=a;a=b;b=n; 10 } 11 while(b!=0) 12 { 13 n=b; 14 b=a%b; 15 a=n; 16 } 17 return a; 18 } 19 int lcm(int a, int b) 20 { 21 return a/gcd(a,b)*b; 22 } 23 24 int main(){ 25 int n,i; 26 int lacm,num; 27 while(cin >> n) 28 { 29 for(i=0;i<n;i++) 30 { 31 cin >> num; 32 if(i>0) 33 lacm=lcm(lacm,num); 34 else 35 lacm=num; 36 } 37 cout << lacm <<endl; 38 } 39 return 0; 40 }