ZOJ.1797 Least Common Multiple【最小公倍数,水】 2015/09/22
2015-09-22 17:08
357 查看
Least Common Multiple
Time Limit: 2 Seconds
Memory Limit: 65536 KB
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
Source: East Central North America 2003, Practice
求n个数的最小公倍数,水~
Time Limit: 2 Seconds
Memory Limit: 65536 KB
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
Source: East Central North America 2003, Practice
求n个数的最小公倍数,水~
#include<iostream> #include<cstdio> #include<cstring> #include<cmath> using namespace std; int gcd(int a,int b){ return b?gcd(b,a%b):a; } int lcm(int a,int b){ int ret = gcd(a,b); return a/ret*b; } int main(){ int t,n,i,ret,a; cin>>t; while(t--){ scanf("%d",&n); ret = 1; while(n--){ scanf("%d",&a); ret = lcm(ret,a); } printf("%d\n",ret); } return 0; }
相关文章推荐
- sql之left join、right join、inner join的区别 union和union all
- BZOJ 4260 Codechef REBXOR 可持久化Trie树
- 获取网络下载请求工具类
- 如何搭建SoC项目的基本Testbench【zz】
- ZMMR106-批量更新PO交货日期
- mac系统卸载mono
- 文件上传
- ASP.NET网站导航及导航控件如何使用
- Cassandra CQL v3.3中文文档(上)
- UITableView判断reloadData结束(iOS)
- Java HashMap 的实现原理详解
- Linux线程同步之读写锁(rwlock)
- Android安全研究经验谈
- INERT DELEYED、INSERT IGNORE replace into和insert区别
- ZMMR107-批量更改PO经价值
- 第十二节 Linux下软件安装
- 多进程共享mem 标志设计
- linux 禁止帐号密码验证 使用key验证方式登录SSH
- 内核中likely和unlikely宏定义
- ASP.NET(C#)读取Excel