3F - Lowest Common Multiple Plus
Input
输入包含多个测试实例,每个测试实例的开始是一个正整数n,然后是n个正整数。
Output
为每组测试数据输出它们的最小公倍数,每个测试实例的输出占一行。你可以假设最后的输出是一个32位的整数。
Sample Input
2 4 6
3 2 5 7
Sample Output
12
70 // 数据溢出
#include<stdio.h> int cmd(int a, int b)
{
int t=;
if(a<b)
{ t=a; a=b; b=t; }
while(t!=)
{ t=a%b; a=b; b=t; }
return a;
} int cmm(int a, int b)
{
int d;
d=cmd(a, b);
return a*b/d;
} int main()
{
int n, x,y;
while(~scanf("%d", &n))
{
y=;
while(n--)
{
scanf("%d", &x);
y=cmm(x,y);
}
printf("%d\n", y);
}
return ;
}
WA
// 把cmm()中的return a*b/d;改为return a/d*b; 在数据接近int能表示的最大值时,先乘很可能溢出
#include<stdio.h> int cmd(int a, int b)
{
int t=;
if(a<b)
{ t=a; a=b; b=t; }
while(t!=)
{ t=a%b; a=b; b=t; }
return a;
} int cmm(int a, int b)
{
int d;
d=cmd(a, b);
return a/d*b;
} int main()
{
int n, x,y;
while(~scanf("%d", &n))
{
y=;
while(n--)
{
scanf("%d", &x);
y=cmm(x,y);
}
printf("%d\n", y);
}
return ;
}
AC*2
// 从最大数开始枚举
#include<stdio.h> int main()
{
int n, x[],y;
while(~scanf("%d", &n))
{
y=;
for(int i=;i<n;i++)
{
scanf("%d", &x[i]);
y=y>x[i]?y:x[i];
}
for(int i=;i<n;i++)
if(y%x[i]!=)
{ y++; i=-; }
printf("%d\n", y);
}
return ;
}
AC
// 补充:用unsigned int能表示的正数多一些
3F - Lowest Common Multiple Plus的更多相关文章
- hdu 2028 Lowest Common Multiple Plus(最小公倍数)
Lowest Common Multiple Plus Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (J ...
- Lowest Common Multiple Plus
Lowest Common Multiple Plus Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java ...
- 最大公约数最小公倍数 (例:HDU2028 Lowest Common Multiple Plus)
也称欧几里得算法 原理: gcd(a,b)=gcd(b,a mod b) 边界条件为 gcd(a,0)=a; 其中mod 为求余 故辗转相除法可简单的表示为: int gcd(int a, int b ...
- HDU2028 Lowest Common Multiple Plus
解题思路:最近很忙,有点乱,感觉对不起自己的中国好队友. 好好调整,一切都不是问题,Just do it ! 代码: #include<cstdio> int gcd(int a, i ...
- 2028 ACM Lowest Common Multiple Plus
题目:http://acm.hdu.edu.cn/showproblem.php?pid=2028 思路:最一想到的就是暴力求解,从1开始一直到最后的答案,一直来除以给出的数列的数,直到余数为0:当然 ...
- HDU2028:Lowest Common Multiple Plus
Problem Description 求n个数的最小公倍数. Input 输入包含多个测试实例,每个测试实例的开始是一个正整数n,然后是n个正整数. Output 为每组测试数据输出它们的最小公倍数 ...
- HDU 2028 Lowest Common Multiple Plus
http://acm.hdu.edu.cn/showproblem.php?pid=2028 Problem Description 求n个数的最小公倍数. Input 输入包含多个测试实例,每个 ...
- 26最小公倍数 lowest common multiple
题目描述 正整数A和正整数B 的最小公倍数是指 能被A和B整除的最小的正整数值,设计一个算法,求输入A和B的最小公倍数. 输入描述:输入两个正整数A和B. 输出描述:输出A和B的最小公倍数. 输入例子 ...
- 【HDU 2028】Lowest Common Multiple Plus
Problem Description 求n个数的最小公倍数. Input 输入包含多个测试实例,每个测试实例的开始是一个正整数n,然后是n个正整数. Output 为每组测试数据输出它们的最小公倍数 ...
随机推荐
- 23.week4
调通了 剩下的就是核心的部分
- HTML+CSS基础课程二
1.border为系统加边框<style type="text/css"> table tr td,th{border:1px solid #000;} </st ...
- idea git 发起一个pull request 请求
- PowerDesigner 修改table背景色
Tools->Display Preferences(显示参数选择)->Format->Table->Modify->Fill->Fill color 出处:htt ...
- hdu2973-YAPTCHA-(欧拉筛+威尔逊定理+前缀和)
YAPTCHA Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Su ...
- HTML各种标签复习
<html> --开始标签 <head> 网页上的控制信息 <title>页面标题</title> </head> <bod ...
- 用伪类:after画箭头
在项目中,经常会用到尖头,尤其是表单中,会有剪头的样式,尽量不要用图片显示.用伪类实现. eg 查看更多 > html: <div class="more"> ...
- beebase
1.简单介绍 BeeBase是一个在线生物信息学数据库,显示与Apis mellifera.欧洲蜜蜂以及一些病原体和其他物种有关的数据.它是与蜜蜂基因组测序联盟合作开发的.BeeBase是蜜蜂研究社区 ...
- fiddler常用操作
fiddler常用操作 标签(空格分隔): fiddler fidrdler抓取https请求: fiddler是一个很好的抓包工具,但是默认的是抓取HTTP的,对于pc的https的会提示网页不安全 ...
- 解题(JuZhengCalculate-矩阵乘法计算量)
题目描述 矩阵乘法的运算量与矩阵乘法的顺序强相关. 例如: A是一个50×10的矩阵,B是10×20的矩阵,C是20×5的矩阵 计算A*B*C有两种顺序:((AB)C)或者(A(BC)),前者需要计算 ...