您的位置:首页 > 其它

杭电acm--1019

2015-10-12 21:28 246 查看
The least common multiple (LCM) of a set of positive integers is the smallest positive integer which is divisible by all the numbers in the set. For example, the LCM of 5, 7 and 15 is 105.

[align=left]Input[/align]
Input will consist of multiple problem instances. The first line of the input will contain a single integer indicating the number of problem instances. Each instance will consist of a single line of the form m n1 n2 n3 ... nm where
m is the number of integers in the set and n1 ... nm are the integers. All integers will be positive and lie within the range of a 32-bit integer.

[align=left]Output[/align]
For each problem instance, output a single line containing the corresponding LCM. All results will lie in the range of a 32-bit integer.

#include<stdio.h>
#include<stdlib.h>
#include<iostream>
#include<cmath>
#include<iomanip>

//#define P 3.141592653

using namespace std;

int function(int a, int b)
{
int a1 = a, b1 = b;
int max, min, temp;
if (a1 > b1)
{
max = a1;
min = b1;
}
else
{
max = b1;
min = a1;
}
temp = min;
while (temp != 0)
{
temp = max%min;
max = min;
min = temp;
}

return max;
}
void main()
{
int i,n,arr[1000];
int a, b;
int t = 0;
cin >> n;
while (n--)
{
int k;
cin >> k;
for (int j = 1; j <= k;j++)
{
cin >> a;
arr[j] = a;
}

b = 1;
for (i = 1; i + 1 <= k; i++)
{
b = arr[i] / function(arr[i + 1], arr[i])*arr[i + 1];
arr[i + 1] = b;
}
cout << arr[k] << endl;

}

system("pause");
}



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: