ACM-简单题之Least Common Multiple——hdu1019
***************************************转载请注明出处:http://blog.csdn.net/lttree***************************************
Least Common Multiple
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 28975 Accepted Submission(s): 10905
in the set and n1 ... nm are the integers. All integers will be positive and lie within the range of a 32-bit integer.
2
3 5 7 15
6 4 10296 936 1287 792 1
105
10296
这道题就是求一堆数的最小公倍数。
要注意,每一行的第一个数表示后面跟着有几个数。
然后,我的方法是将输入的数存到数组,然后进行从大到小排序。
从头開始推断,假设当前的mul(之前全部数的最小公倍数)是当前数的倍数,就不须要计算这个数了,直接跳过。
最后再注意一点,用__int64来解决,scanf是用:%I64d
/****************************************
*****************************************
* Author:Tree *
*From : blog.csdn.net/lttree *
* Title : Least Commn Multiple *
*Source: hdu 1019 *
* Hint : *
*****************************************
****************************************/ #include <stdio.h>
#include <algorithm>
using namespace std; __int64 num[10001]; // 求a和b的最小公倍数
__int64 lcm( __int64 a,__int64 b)
{
__int64 x=a,y=b,k;
while( x%y!=0 )
{
k=x%y;
x=y;
y=k;
}
return a*b/k;
}
// 从大到小排序 sort用
bool cmp(__int64 a,__int64 b)
{
return a>b;
}
int main()
{
int t,n,i;
__int64 mul; scanf("%d",&t);
while( t-- )
{
scanf("%d",&n);
for( i=0;i<n;++i )
scanf("%I64d",&num[i]);
sort(num,num+n,cmp);
mul=num[0];
// 假设当前的最小公倍数是该数的倍数就不须要计算了。
for( i=1;i<n;++i )
if( mul%num[i]!=0 )
mul=lcm(mul,num[i]);
printf("%I64d\n",mul);
}
return 0;
}
ACM-简单题之Least Common Multiple——hdu1019的更多相关文章
- 2道acm简单题(2010):1.猜数字游戏;2.字符串提取数字并求和;
//第一题是猜数字的游戏.//题目:随即产生一个3位的正整数,让你进行猜数字,//如果猜小了,输出:"猜小了,请继续".//如果猜大了,输出:"猜大了,请继续" ...
- 2道acm简单题(2013):1.(时分秒)时间相减;2.主持人和N-1个人玩游戏,每个人说出自己认识的人数,判断其中是否有人说谎。
/*1.题目:输入一个数,代表要检测的例子的个数,每个例子中:输入两个时间(格式HH:MM : SS),前面时间减去后面时间,输出在时钟上显示的时间,格式一样,如果是以为数字的前面补零.*//**思路 ...
- 3道acm简单题(2011):1.判断是否能组成三角形;2.判断打鱼还是晒网;3.判断丑数。
//1.输入三个正整数A.B.C,判断这三个数能不能构成一个三角形.//思路:最小的两边之和是否是大于第三边#include<iostream>#include<algorithm& ...
- HDU1019 Least Common Multiple(多个数的最小公倍数)
The least common multiple (LCM) of a set of positive integers is the smallest positive integer which ...
- Least Common Multiple (HDU - 1019) 【简单数论】【LCM】【欧几里得辗转相除法】
Least Common Multiple (HDU - 1019) [简单数论][LCM][欧几里得辗转相除法] 标签: 入门讲座题解 数论 题目描述 The least common multip ...
- HDU-1019 Least Common Multiple
http://acm.hdu.edu.cn/showproblem.php?pid=1019 Least Common Multiple Time Limit: 2000/1000 MS (Java/ ...
- ACM hdu 1019 Least Common Multiple
Problem Description The least common multiple (LCM) of a set of positive integers is the smallest po ...
- acm.njupt 1001-1026 简单题
点击可展开上面目录 Acm.njupt 1001-1026简单题 第一页许多是简单题,每题拿出来说说,没有必要,也说不了什么. 直接贴上AC的代码.初学者一题题做,看看别人的AC代码,寻找自己的问题. ...
- ACM学习历程—HDU 3092 Least common multiple(数论 && 动态规划 && 大数)
Description Partychen like to do mathematical problems. One day, when he was doing on a least common ...
随机推荐
- HTML语言简单回顾
简单复习一下html语言. html的基本结构如下: <html> <head> <title></title> </head> <b ...
- UVA 644 Immediate Decodability (字符处理)
An encoding of a set of symbols is said to be immediately decodable if no code for one symbol is the ...
- CSDN头版头条 《近匠》 Wijmo 5 CTO:从Web到移动,我的25年编程生涯
现年52岁的Bernardo Castilho先生是GrapeCity(中文名为葡萄城)ComponentOne公司的CTO,在与他的对话过程中.充满风趣严谨和厚重的历史感. 当作为年轻人的我们崇拜着 ...
- EasyUI - 要引入的JS文件
引入的JS: 使用时候修改路径. <script src="../Quote/EasyUI/locale/easyui-lang-zh_CN.js"></scri ...
- TEXT文本编辑框2
Result: When you double clicks on the TextEdit control nothing happens, since the flow-logic of the ...
- sed正则表达式
sed的正则匹配如何实现非贪婪? sed的正则用的是BREs/EREs,不支持非贪婪模式.当然有一些方法可以实现非贪婪,比如: $ echo abcOabcdOabc | sed 's/.*O//' ...
- Java总结之容器
[容器的概念] 容器:Java API所提供的一系列的实例,用于在程序中存放对象. [容器 API] J2SDK所提供的容器API位于java.util包内. {Collection[Set(Hash ...
- Test oracle db iops
Today, i need to test one database's iops and do something for oracle db's io test. How to test the ...
- POJ1087 A Plug for UNIX 【最大流】
A Plug for UNIX Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 13855 Accepted: 4635 ...
- ANR的一个实例分析
ANR是android经常出的超时提示,以前看过一个帖子,内容是mediaplayer在release的时候出的ANR,作者也是出了方法,什么加handler之类的. 最后都么有解决,咱们先看看那位同 ...