`
richard_ma
  • 浏览: 16282 次
最近访客 更多访客>>
社区版块
存档分类
最新评论

hdu1019 gcd和lcm

阅读更多
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 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

解题思路
经典的最大公约数(gcd)和最小公倍数(lcm)题目。
这两个算法是代码模块。

注意:
先除后乘防止数据溢出!!

#include <stdio.h>
#include <stdlib.h>

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

int lcm(int a, int b)
{
    int g;

    g = gcd(a, b);
    return a / g * b;
}

int main (int argc, char const* argv[])
{
    int c, n, i, ans, t;

    scanf("%d", &c);

    while (c--) {
        scanf("%d", &n);

        scanf("%d", &ans);
        for (i = 1; i < n; i++) {
            scanf("%d", &t);
            ans = lcm(ans, t);
        }

        printf("%d\n", ans);
    }

    return 0;
}
分享到:
评论

相关推荐

    HDU1019(2028)解题报告

    Least Common Multiple ...先利用gcd算法求两个数的最大公约数,再考虑最小公倍数=两数乘积/最大公约数,即可求得最小公倍数。 注意:要考虑到输入的输入的n个数中的0,有0的要去掉0求其他数的最小公倍数。 代码:

    hdu 1695 GCD(欧拉函数+容斥原理).docx

    "hdu 1695 GCD(欧拉函数+容斥原理)" 题目大意是:给定 a, b, c, d, k,找到一队 x, y,满足 g(x, y) = k,且 x ∈ [1, b], y ∈ [1, d],问有多少对符合要求的 (x, y)。 思路是:gcd(x, y) == k 解释 x, y 都能...

    HDU_2010.rar_hdu 2010_hdu 20_hdu acm20

    "hdu 2010"和"hdu 20"可能是该比赛的不同简称或分类,而"hdu acm20"可能指的是该赛事的第20届活动。这个压缩包可能是参赛者或教练分享的解题代码和资料。 【描述】提到的"水仙花数"问题,是计算机科学和算法竞赛中...

    hdu.rar_hdu

    HDU(杭州电子科技大学在线评测系统)是一个深受程序员喜爱的在线编程练习平台,它提供了丰富的算法题目供用户挑战,帮助他们提升编程技能和算法理解能力。"hdu.rar_hdu"这个压缩包文件很可能是某位程序员整理的他在...

    HDU题目java实现

    HDU是一个知名的在线编程竞赛平台,它提供了大量的算法题目供参赛者练习和提交解决方案。这里的“java实现”意味着作者使用Java作为编程工具来解答这些算法题。 在Java编程方面,以下是一些可能涵盖的知识点: 1. ...

    ACM HDU题目分类

    ACM HDU 题目分类 ACM HDU 题目分类是指对 HDU 在线判题系统中题目的分类,总结了大约十来个分类。...ACM HDU 题目分类是一个非常重要的参考资源,对于编程选手来说,掌握这些分类可以帮助他们更好地理解和解决问题。

    hdu1250高精度加法

    ### hdu1250高精度加法 #### 背景介绍 在计算机科学与编程竞赛中,处理大整数运算(特别是加法、减法、乘法等)是常见的需求之一。当数字的位数超过了标准数据类型(如`int`、`long`等)所能表示的最大值时,就需要...

    HDU DP动态规划

    【标题】"HDU DP动态规划"涉及到的是在算法领域中的动态规划(Dynamic Programming,简称DP)技术,这是解决复杂问题的一种高效方法,尤其适用于有重叠子问题和最优子结构的问题。动态规划通常用于优化多阶段决策...

    hdu.rar_HDU 1089.cpp_OJ题求和_hdu_horsekw5_杭电obj

    【标题】"hdu.rar_HDU 1089.cpp_OJ题求和_hdu_horsekw5_杭电obj" 提供的信息是关于一个压缩文件,其中包含了一个名为 "HDU 1089.cpp" 的源代码文件,这个文件是为了解决杭州电子科技大学(Hangzhou Dianzi ...

    HDU1059的代码

    HDU1059的代码

    ACM HDU

    学习和理解ACM HDU的题解,不仅可以提升编程能力,还能帮助我们理解和运用计算机科学的核心原理,为日常开发工作提供有力的支持。同时,参与ACM竞赛或类似练习,可以锻炼快速思考和问题解决的技巧,这对于任何IT从业...

    杭电ACMhdu1163

    “hdu1163”是该问题在杭电ACM平台上的唯一标识符,方便选手查找和讨论。 【详细知识点】: 1. **算法基础**:解决ACM题目,首先需要掌握基础的算法,如排序(快速排序、归并排序、冒泡排序等)、搜索(二分查找、...

    hdu1001解题报告

    hdu1001解题报告

    hdu 1574 passed sorce

    hdu 1574 passed sorce

    HDU acm-PPT课件

    HDU(杭州电子科技大学)在ACM竞赛领域有着丰富的经验和优秀的教育资源,其提供的ACM课件是初学者入门和进阶的良好资源。 一、基础篇:编程语言与基础算法 在ACM竞赛中,C++是最常用的语言,因其高效、灵活和丰富...

    Hdu1000—2169部分代码

    下载这些代码可以帮助学习者理解如何应用编程技巧和算法来解决HDU OJ上的问题,从而提高自己的编程和算法能力。 标签"HDu acm"进一步确认了这些代码与ACM竞赛相关的编程挑战有关,可能是参赛者或训练者为了准备比赛...

    HDU最全ac代码

    "HDU最全ac代码"这个压缩包很可能是包含了在HDU平台上解题通过的完整源代码集合,旨在帮助学习者理解和掌握各种算法,提升编程解决问题的能力。 首先,我们来了解一下ACM/ICPC比赛。这是一项全球性的编程竞赛,参赛...

    HDU.rar_hdu_hdu07_com_shownv9b_www.563hdu.

    3. **算法与数据结构**:HDU的题目通常涉及到基础和高级算法,如排序、搜索、图论、动态规划等,以及各种数据结构,如链表、树、堆、图等。通过分析这些源代码,可以学习到如何在实际问题中应用这些理论知识。 4. *...

    hdu2101解决方案

    hdu2101AC代码

    hdu 5007 Post Robot

    hdu 5007 Post Robot 字符串枚举。 暴力一下就可以了。

Global site tag (gtag.js) - Google Analytics