题目:Lowest common multiple plus

代码:

#include<stdio.h>
int common(int a,int b)//计算最大公约数
{
int c=a%b,t=0;
if(b>a)
{
t=b;
b=a;
a=t;
}
while(a%b!=0)
{
c=a%b;
a=b;
b=c;
}
return b;
}
int q[105];
int main()
{
int n,i,j,t=0; while(scanf("%d",&n))
{
for(i=1;i<=n;i++)
{
scanf("%d",&q[i]);
} t=q[1]; //printf("%d\n",common(4,6)); for(j=2;j<=n;j++)
{
t=q[j]*t/common(q[j],t);//重复计算其公倍数
} printf("%d\n",t);
} return 0;
}

TLE

最大的问题是每次计算都要调用common函数,每次调用都要执行for循环,计算比较多的数导致TLE是正常的事情。

参考代码:by acmcyc

#include <iostream>
using namespace std;
int main()
{
int n,i;
int a[100];
while(cin>>n)
{
int max;
cin>>a[0];
max=a[0];
for(i=1;i<n;i++)
{
cin>>a[i];
if(a[i]>max)
max=a[i];
}
int k=0,j;
for(j=max;;j++)//2 5 7 j=7;
{
for(i=0;i<n;i++)
{
if(j%a[i]!=0)
break;
}
if(i==n)// j%a[i]==0
break;
}
cout<<j<<endl; }
return 0;
}

看到这串代码,不得不佩服作者的思考角度和方法:先找出输入所有数中的最大数max,然后不断+1进行判断(最小公倍数大于等于max),如果找到一个数对输入的所有数都能整除,那么这个数就是他们的最小公倍数。

hdoj-2028-Lowest common multiple plus的更多相关文章

  1. hdu 2028 Lowest Common Multiple Plus(最小公倍数)

    Lowest Common Multiple Plus Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (J ...

  2. HDU 2028 Lowest Common Multiple Plus

    http://acm.hdu.edu.cn/showproblem.php?pid=2028 Problem Description 求n个数的最小公倍数.   Input 输入包含多个测试实例,每个 ...

  3. #2028 Lowest Common Multiple Plus

    http://acm.hdu.edu.cn/showproblem.php?pid=2028 应该是比较简单的一道题啊...求输入的数的最小公倍数. 先用百度来的(老师教的已经不知道跑哪去了)辗转相除 ...

  4. 杭电 2028 ( Lowest Common Multiple Plus )

    链接:http://acm.split.hdu.edu.cn/showproblem.php?pid=2028 题目要求:就是求最大公倍数,我百度了一下,最好实现的算法就是:       公式法 由于 ...

  5. 最大公约数最小公倍数 (例:HDU2028 Lowest Common Multiple Plus)

    也称欧几里得算法 原理: gcd(a,b)=gcd(b,a mod b) 边界条件为 gcd(a,0)=a; 其中mod 为求余 故辗转相除法可简单的表示为: int gcd(int a, int b ...

  6. Lowest Common Multiple Plus

    Lowest Common Multiple Plus Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java ...

  7. HDOJ 1019 Least Common Multiple(最小公倍数问题)

    Problem Description The least common multiple (LCM) of a set of positive integers is the smallest po ...

  8. 2028 ACM Lowest Common Multiple Plus

    题目:http://acm.hdu.edu.cn/showproblem.php?pid=2028 思路:最一想到的就是暴力求解,从1开始一直到最后的答案,一直来除以给出的数列的数,直到余数为0:当然 ...

  9. 【HDU 2028】Lowest Common Multiple Plus

    Problem Description 求n个数的最小公倍数. Input 输入包含多个测试实例,每个测试实例的开始是一个正整数n,然后是n个正整数. Output 为每组测试数据输出它们的最小公倍数 ...

  10. HDU2028 Lowest Common Multiple Plus

    解题思路:最近很忙,有点乱,感觉对不起自己的中国好队友.   好好调整,一切都不是问题,Just do it ! 代码: #include<cstdio> int gcd(int a, i ...

随机推荐

  1. mysql 权限管理 对所有库 所有表 授权 *.*

    对miek这个账号localhost 授予了所有库,所表的select权限 mysql> grant select on *.* to 'mike'@'localhost'; Query OK, ...

  2. Appium-Python-Client安装

    官网是这个:https://pypi.org/project/Appium-Python-Client/#files 下载下来后是这样的文件不知道怎么安装: 不用下载,直接这样就可以 了~~ 安装后导 ...

  3. python输出测试报告测试成功

    import unittest # import HtmlTestRunner import HTMLTestRunner class DemoTest(unittest.TestCase): def ...

  4. 20180531-Postman 常用测试结果验证及使用技巧

  5. [LeetCode] 836. Rectangle Overlap_Easy

    A rectangle is represented as a list [x1, y1, x2, y2], where (x1, y1) are the coordinates of its bot ...

  6. Ubuntu 14.04 安装 SteamOS 会话

    如何在Ubuntu 14.04上安装steamos会话,以使用户的SteamOS 大图片模式直接从lightdm GTK迎宾开始进入. SteamOS是一个开源的基于Debian Wheezy分支的. ...

  7. Map<String, String>循环遍历的方法

    Map<String, String>循环遍历的方法 Map<String, String>循环遍历的方法 Map<String, String>循环遍历的方法 下 ...

  8. unity3d-物理引擎

    简介 物理引擎就是在游戏中模拟真实的物理效果,比如,场景中有两个立方体对象,一个在空中,一个在地面上,在空中的立方体开始自由下落,然后与地面上的立方体对象发生碰撞,而物理引擎就是用来模拟真实碰撞的效果 ...

  9. http-equiv="Refresh" 实现定时刷新页面

    ***.html自动跳转文件代码如下: <HTML> <HEAD><META http-equiv="Refresh" content="5 ...

  10. Python tricks(4) -- with statement

    简介 with是从2.5版本引入的一个语法. 这个语法本身是为了解决try..finally繁琐的释放各类资源(文件句柄, Lock等)的问题. 如果想在旧版本中使用这个功能, 直接引入future模 ...