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, ...
随机推荐
- discuz2.5登录后台闪退的解决办法
今天突然发现discuz2.5论坛后台进不去,开始以为密码错了,但发现登录后也是闪退.我试着清除浏览器cookie,也换了其他浏览器也没有用,还是上网找找吧! discuz2.5进入后台闪退的原因: ...
- oracle查看表中数据的大小
通过从视图 user_segments的字段 bytes中找到 select SUM(bytes)/1024/1024 from user_segments where segment_name='E ...
- React Native 快速入门之认识Props和State
眼下React Native(以后简称RN)越来越火,我也要投入到学习当中.对于一个前端来说,还是有些难度.因为本人觉得这是一个App开发的领域,自然是不同.编写本文的时候,RN的版本为0.21.0. ...
- 大数据系列之Hadoop框架
Hadoop框架中,有很多优秀的工具,帮助我们解决工作中的问题. Hadoop的位置 从上图可以看出,越往右,实时性越高,越往上,涉及到算法等越多. 越往上,越往右就越火…… Hadoop框架中一些简 ...
- Machine Learning系列--维特比算法
维特比算法(Viterbi algorithm)是在一个用途非常广的算法,本科学通信的时候已经听过这个算法,最近在看 HMM(Hidden Markov model) 的时候也看到了这个算法.于是决定 ...
- RestTemplate OR Spring Cloud Feign 上传文件
SpringBoot,通过RestTemplate 或者 Spring Cloud Feign,上传文件(支持多文件上传),服务端接口是MultipartFile接收. 将文件的字节流,放入ByteA ...
- java版云笔记(四)
页面的笔记本加载完成了,接下来就是点击笔记本显示将笔记显示,同时把笔记在右边的编辑器中,同时把编辑后的笔记更新. 注:这个项目的sql文件,需求文档,需要的html文件,jar包都可以去下载,下载地址 ...
- 以太坊go-ethereum客户端查询交易列表(二)
玩过比特币的朋友都知道,比特币是可以通过api(listtransactions)查询指定地址的历史交易的.但在eth中没有提供类似的查询api.今天这篇博客就简单介绍一下如果解决这个问题. 问题 以 ...
- django 解决csrf跨域问题
1.中间件代码 [root@linux-node01 mysite]# tree middlewares middlewares ├── base.py ├── base.pyc ├── cors.p ...
- hdu 4726(贪心)
Kia's Calculation Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others ...