HDOJ--Least Common Multiple

原创 2016年05月31日 20:28:50

Problem Description
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.

Input
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.

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

Sample Input
2
3 5 7 15
6 4 10296 936 1287 792 1

Sample Output
105
10296

思路:最小公倍数=数的乘积除以最大公约数,求一组数的最小公倍数,就迭代求两两的最小公倍数。

坑:数据大会溢出

#include <iostream>
#include <vector>
using namespace std;

int gcd(int a, int b)
{
    if (b == 0)return a;
    return gcd(b, a%b);
}


int main()
{
    int n;
    cin >> n;
    for (int ii = 0; ii < n; ++ii)
    {
        int count = 0;
        cin >> count;
        int result = 1;
        int a = 1;
        for (int i = 0; i < count; ++i)
        {
            int b;
            cin >> b;
            result = a / gcd(a, b)*b;       //怕溢出,所以先除gcd再乘
            a = result;
        }
        cout << result << endl;

    }
    return 0;
}
版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

【HDOJ】【1019】Least Common Multiple

此题计算多个数值的最小公倍数,利用先求最大公约数间接求解最小公倍数的时候,由于通常会先将两个数相乘,然后再除的形式,导致先做乘法的位置溢出,经过多次提交,发现此问题。另外,此题还存在数值中有0的情况,...

HDOJ——1019:Least Common Multiple(求n个数的最小公倍数)

题目就不说了,就是求n个数的最小公倍数。其实这个问题已经困扰我好久了,今天终于有机会把它解决了。 这道题用到了递归和辗转相除法。 n个数的最小公倍数,可以先求前两个数的最小公倍数(lcm),然后再用前...

我是如何成为一名python大咖的?

人生苦短,都说必须python,那么我分享下我是如何从小白成为Python资深开发者的吧。2014年我大学刚毕业..

【HDU 4913】Least common multiple【线段树】

题意:给出a序列与b序列,求set S={x1,x2,…,xn}, where xi=2ai * 3bi.

ACM-简单题之Least Common Multiple——hdu1019

ACM 简单题 Least Common Multiple hdu1019 最小公倍数

hdu 4913 Least common multiple 线段树

点值代表包含改点 且 lcm等于改点

Least common multiple HDU - 3092题解

Least common multiple HDU - 3092题解

Find the least common multiple

I got a question for interview and shared here. Given two numbers m and n, write a method to return ...

Least Common Multiple&&http://acm.hdu.edu.cn/showproblem.php?pid=1019

Problem Description The least common multiple (LCM) of a set of positive integers is the smallest p...

hdu 3092 Least common multiple(完全背包+数论)

Least common multiple Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/O...

杭电 1019 Least Common Multiple(最小公倍数)

Least Common Multiple Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java...
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)