HDU-1019,Least Common Multiple

简介: HDU-1019,Least Common Multiple

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


程序代码:


#include<stdio.h>
int gcd(int a,int b)
{
  return b?gcd(b,a%b):a;//递归求两个数的最大公约数 
}
int lcm(int a,int b)
{
  return a/gcd(a,b)*b;//这里先除后乘求最小公倍数,更好的避免数据溢出 
}
int main()
{
  int t,n,a,b;
  scanf("%d",&t);
  while(t--)
  {
    scanf("%d",&n);
    scanf("%d",&a);
    for(int i=1;i<n;i++)
    {
      scanf("%d",&b);
      a=lcm(a,b);
    }
    printf("%d\n",a);
  }
  return 0;
}


相关文章
|
6月前
hdu 1019 Least Common Multiple
hdu 1019 Least Common Multiple
29 0
hdu 1019 Least Common Multiple
hdu 1019 Least Common Multiple
31 0
codeforces 344B - Simple Molecules
题意就是给出3个原子的化学价,然后组成一个分子,要保证这个分子是稳定的,如果你还记得高中化学知识的话这个很容易理解,然后让你求出1-2 2-3 1-3 号原子之间有几条键, 这里我分别用ta tb tc 表示, 用数学的方法表示出来的话就是a = tc + tb; b = ta+tc; c = ta + tb;可能有多种情况,只要输出一种即可。
41 0
《Why you should care about data layout in the file system》电子版地址
Why you should care about data layout in the file system
141 0
《Why you should care about data layout in the file system》电子版地址
PAT (Advanced Level) Practice - 1143 Lowest Common Ancestor(30 分)
PAT (Advanced Level) Practice - 1143 Lowest Common Ancestor(30 分)
118 0
|
Java
HDU - 2018 Multi-University Training Contest 1 - 1001: Maximum Multiple
HDU - 2018 Multi-University Training Contest 1 - 1001: Maximum Multiple
97 0
HDOJ1019Least Common Multiple
HDOJ1019Least Common Multiple
97 0
HDOJ 1019 Least Common Multiple(最小公倍数问题)
HDOJ 1019 Least Common Multiple(最小公倍数问题)
95 0
HDOJ 2028 Lowest Common Multiple Plus(n个数的最小公倍数)
HDOJ 2028 Lowest Common Multiple Plus(n个数的最小公倍数)
127 0
|
C++
SystemC Tutorial 2 Module
模块(Module)模块是SystemC设计中的基本设计单元。模块可以使得设计者将一个复杂的系统分割为一些更小但易于管理的部分。SystemC模块的功能和作用与HDL语言中的模块是类似的。定义的模块也可以像HDL语言一样包含端口、信号、其他模块、处理过程和结构体,这些单元实现用以实现模块的功能。通过端口可以将几个模块连接起来。模块被保存为 .h 文件。如果在一个模块中调用其他模块,只需像C++中引
345 0