Lowest Common Multiple Plus
Time Limit : 2000/1000ms (Java/Other) Memory Limit : 65536/32768K (Java/Other)
Total Submission(s) : 1 Accepted Submission(s) : 1
Font: Times New Roman | Verdana | Georgia
Font Size: ← →
Problem Description
求n个数的最小公倍数。
Input
输入包含多个测试实例,每个测试实例的开始是一个正整数n,然后是n个正整数。
Output
为每组测试数据输出它们的最小公倍数,每个测试实例的输出占一行。你可以假设最后的输出是一个32位的整数。
Sample Input
2 4 6
3 2 5 7
Sample Output
12
70
Author
lcy
Source
C语言程序设计练习(五)
一遍递推,并没有什么套路
#include<cstdio>
#include<iostream>
using namespace std;
int gcd(int a, int b)
{
int i;
while (a%b)
{
i = a%b; a = b; b = i;
}
return b;
}
int gbd(int a, int b)//求最小公倍数
{
return a / gcd(a, b)*b;
}
int main()
{
int n, i, s, a;
while (~scanf("%d", &n)&&n)
{
scanf("%d", &s);
for (i = 1; i<n; i++)//一路递推过去
{
scanf("%d", &a);
s = gbd(s, a);
}
printf("%d\n", s);
}
return 0;
}