Problem C: 深入浅出学算法004-求多个数的最小公倍数
Description
求n个整数的最小公倍数
Input
多组测试数据,先输入整数T表示组数 然后每行先输入1个整数n,后面输入n个整数k1 k2...kn
Output
求k1 k2 ...kn的最小公倍数
Sample Input
1
3 12 18 6
Sample Output
36
#include<stdio.h>
int gcd(int x,int y)
{
int t=;
while(t!=)
{
t=x%y;
x=y;
y=t;
}
return x;
}
int lcm(int s[],int n)
{
int num,i;
for(i=;i<n-;i++)
{
num=gcd(s[i],s[i+]);
s[i+]=s[i]/num*s[i+]/num*num;
}
return s[n-];
}
int main()
{
int t,n,m,i;
while(scanf("%d",&t)!=EOF)
{
while(t--)
{
scanf("%d",&n);
int s[n];
for(i=;i<n;i++)
{
scanf("%d",&s[i]);
}
m=lcm(s,n);
printf("%d\n",m);
}
}
}
#include <stdio.h>
/* 欧几里得算法求 数字 a b 的最大公约数 */
int gcd(int a,int b)
{
if(a<b)
{
return gcd(b,a);
}
else if(b==)
{
return a;
}
else
{
return gcd(b,a%b);
}
} /* 数字 a b 的最小公约数 */
int lcm(int a,int b)
{
return a/gcd(a,b)*b; //需要先除再乘,不然int会崩溃
} int main()
{
int n,i,r,t;
int data[n];
while(scanf("%d",&t)!=EOF)
{
while(t--)
{
scanf("%d",&n);
for(i=;i<n;i++)
{
scanf("%d",&data[i]);
}
// 特殊处理只有一个数字的情况
if(n==)
{
r = data[];
}
else
{
// 先求前两个数字的最小公倍数
r = lcm(data[],data[]);
// 求第 i 个数字和前面所有数字的最小公倍数
for(i=;i<n;i++)
{
r = lcm(r,data[i]);
}
}
printf("%d\n",r);
}
}
return ;
}
Problem C: 深入浅出学算法004-求多个数的最小公倍数的更多相关文章
- Problem E: 深入浅出学算法019-求n的阶乘
Problem E: 深入浅出学算法019-求n的阶乘 Time Limit: 1 Sec Memory Limit: 64 MBSubmit: 5077 Solved: 3148 Descrip ...
- Problem G: 深入浅出学算法008-求佩尔方程的解
Description 求关于x y的二次不定方程的解 x2-ny2=1 Input 多组输入数据,先输入组数T 然后输入正整数n(n<=100) Output 对于每组数据输出一行,求y< ...
- Problem F: 深入浅出学算法007-统计求和
Description 求含有数字a且不能被a整除的4位整数的个数,并求这些整数的和 Input 多组测试数据,先输入整数T表示组数然后每组输入1个整数a(1<=a<=9) Output ...
- Problem E: 深入浅出学算法006-求不定方程的所有解
Description 现有一方程ax+by=c,其中系数a.b.c均为整数,求符合条件的所有正整数解,要求按x由小到大排列,其中a b c 均为不大于1000的正整数 Input 多组测试数据,第一 ...
- Problem B: 深入浅出学算法003-计算复杂度
Description 算法复杂度一般分为:时间复杂度.空间复杂度.编程复杂度. 这三个复杂度本身是矛盾体,不能一味地追求降低某一复杂度,否则会带来其他复杂度的增加.在权衡各方面的情况下,降低时间复杂 ...
- Problem D: 深入浅出学算法005-数7
Description 逢年过节,三五好友,相约小聚,酒过三旬,围桌数七. “数七”是一个酒桌上玩的小游戏.就是按照顺序,某人报一个10以下的数字,然后后面的人依次在原来的数字上加1,并喊出来,当然如 ...
- Problem H: 深入浅出学算法009-韩信点兵
Description 秦朝末年,楚汉相争.有一次,韩信将1500名将士与楚王大将李锋交战.苦战一场,楚军不敌,败退回营,汉军也死伤四五百人,于是,韩信整顿兵马也返回大本营.当行至一山坡,忽有后军来报 ...
- Problem A: 深入浅出学算法002-n个1
Description 由n个1组成的整数能被K(K<10000)整除,n至少为多少? Input 多组测试数据,第一行输入整数T,表示组数 然后是T行,每行输入1个整数代表K Output 对 ...
- Problem A: 深入浅出学算法022-汉诺塔问题II
#include<stdio.h> void hanio(int n,char a,char b,char c) { ) printf("%c->%c\n",a, ...
随机推荐
- koa源码阅读[2]-koa-router
koa源码阅读[2]-koa-router 第三篇,有关koa生态中比较重要的一个中间件:koa-router 第一篇:koa源码阅读-0第二篇:koa源码阅读-1-koa与koa-compose k ...
- GSON转换日期数据为特定的JSON数据
通过JSON传递数据的时候经常需要传递日期,Java中可以通过GSON将日期转换为特定格式的JSON数据. 1.普通的GSON转换日期 public void query(HttpServletReq ...
- (2)剑指Offer之二维数组查找和替换空格问题
一 二维数组查找 题目描述: 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数. 问 ...
- weblogic性能监控
1.
- linux中的计算【转】
shell中的赋值和操作默认都是字符串处理,在此记下shell中进行数学运算的几个特殊方法,以后用到的时候可以来看,呵呵 1.错误方法举例 a) var=1+1 echo $var 输出的结果是1+1 ...
- cordova 从xcode7迁移到xcode8
环境以开发流程 当前项目使用的cordova环境 cordova 6.1.1 cordova-ios 3.9.2(vs15自动装的不知道在哪能改,所以考虑升级到vs17,能够手动指定) cordova ...
- vue数据传递--我有特殊的实现技巧
最近碰到了比较多的关于vue的eventBus的问题,之前定技术选型的时候也被问到了,vuex和eventBus的使用范围.所以简单的写一下.同时有一种特殊的实现方案. 有这么几种数据传递方式,vue ...
- web项目更改文件后缀,隐藏编程语言
从Java EE5.0开始,<servlet-mapping>标签就可以配置多个<url-pattern>.例如可以同时将urlServlet配置一下多个映射方式: <s ...
- mysql触发器(Trigger)简明总结和使用实例
一,什么触发器 1,个人理解触发器,从字面来理解,一触即发的一个器,简称触发器(哈哈,个人理解),举个例子吧,好比天黑了,你开灯了,你看到东西了.你放炮仗,点燃了,一会就炸了.2,官方定义触发器(tr ...
- Java显式锁学习总结之五:ReentrantReadWriteLock源码分析
概述 我们在介绍AbstractQueuedSynchronizer的时候介绍过,AQS支持独占式同步状态获取/释放.共享式同步状态获取/释放两种模式,对应的典型应用分别是ReentrantLock和 ...