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-求多个数的最小公倍数的更多相关文章

  1. Problem E: 深入浅出学算法019-求n的阶乘

    Problem E: 深入浅出学算法019-求n的阶乘 Time Limit: 1 Sec  Memory Limit: 64 MBSubmit: 5077  Solved: 3148 Descrip ...

  2. Problem G: 深入浅出学算法008-求佩尔方程的解

    Description 求关于x y的二次不定方程的解 x2-ny2=1 Input 多组输入数据,先输入组数T 然后输入正整数n(n<=100) Output 对于每组数据输出一行,求y< ...

  3. Problem F: 深入浅出学算法007-统计求和

    Description 求含有数字a且不能被a整除的4位整数的个数,并求这些整数的和 Input 多组测试数据,先输入整数T表示组数然后每组输入1个整数a(1<=a<=9) Output ...

  4. Problem E: 深入浅出学算法006-求不定方程的所有解

    Description 现有一方程ax+by=c,其中系数a.b.c均为整数,求符合条件的所有正整数解,要求按x由小到大排列,其中a b c 均为不大于1000的正整数 Input 多组测试数据,第一 ...

  5. Problem B: 深入浅出学算法003-计算复杂度

    Description 算法复杂度一般分为:时间复杂度.空间复杂度.编程复杂度. 这三个复杂度本身是矛盾体,不能一味地追求降低某一复杂度,否则会带来其他复杂度的增加.在权衡各方面的情况下,降低时间复杂 ...

  6. Problem D: 深入浅出学算法005-数7

    Description 逢年过节,三五好友,相约小聚,酒过三旬,围桌数七. “数七”是一个酒桌上玩的小游戏.就是按照顺序,某人报一个10以下的数字,然后后面的人依次在原来的数字上加1,并喊出来,当然如 ...

  7. Problem H: 深入浅出学算法009-韩信点兵

    Description 秦朝末年,楚汉相争.有一次,韩信将1500名将士与楚王大将李锋交战.苦战一场,楚军不敌,败退回营,汉军也死伤四五百人,于是,韩信整顿兵马也返回大本营.当行至一山坡,忽有后军来报 ...

  8. Problem A: 深入浅出学算法002-n个1

    Description 由n个1组成的整数能被K(K<10000)整除,n至少为多少? Input 多组测试数据,第一行输入整数T,表示组数 然后是T行,每行输入1个整数代表K Output 对 ...

  9. Problem A: 深入浅出学算法022-汉诺塔问题II

    #include<stdio.h> void hanio(int n,char a,char b,char c) { ) printf("%c->%c\n",a, ...

随机推荐

  1. HDU 2516 取石子游戏 (找规律)

    题目链接 Problem Description 1堆石子有n个,两人轮流取.先取者第1次可以取任意多个,但不能全部取完.以后每次取的石子数不能超过上次取子数的2倍.取完者胜.先取者负输出" ...

  2. Attention is all you need 论文详解(转)

    一.背景 自从Attention机制在提出之后,加入Attention的Seq2Seq模型在各个任务上都有了提升,所以现在的seq2seq模型指的都是结合rnn和attention的模型.传统的基于R ...

  3. 阿里分布式开源框架DUBBO 入门+ 进阶+ 项目实战视频教程

    史诗级Java/JavaWeb学习资源免费分享 欢迎关注我的微信公众号:"Java面试通关手册"(坚持原创,分享各种Java学习资源,面试题,优质文章,以及企业级Java实战项目回 ...

  4. python基础===python自带idle的快捷键

    Ctrl + [ Ctrl + ]   缩进代码Alt+3 Alt+4 注释.取消注释代码行Alt+5 Alt+6 切换缩进方式 空格<=>TabAlt+/ 单词完成,只要文中出现过,就可 ...

  5. 去除\ufeff的解决方法,python语言

    语言:python 编程工具:pycharm 硬件环境:win10 64位 读取文件过程中发现一个问题:已有记事本文件(非空),转码 UTF-8,复制到pycharm中,在开始位置打印结果会出现  \ ...

  6. Java基础1,入门基础知识

    本文知识点(目录): 1.java简介    2.环境的搭建    3.关键字    4.标识符    5.注释    6.常量    7.进制的转换    8.变量    9.数据类型的转换    ...

  7. PHP学习笔记之数组游标操作

    数组有N个单元,同时只能操作一个单元.比如循环时,只能一个一个单元读取他的值. 那么数组是怎么记住刚才读取的是哪个单元,接着读取下个单元的呢? 在数组内部,有一个指针,指针指向某一个单元. 每循环一个 ...

  8. ie6下png图片背景色处理

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xht ...

  9. Valid Parentheses——栈经典

    Given a string containing just the characters '(', ')', '{', '}', '[' and ']', determine if the inpu ...

  10. Mysql聚合函数count(*) 的性能分析

    你首先要明确的是,在不同的 MySQL 引擎中,count(*) 有不同的实现方式. MyISAM 引擎把一个表的总行数存在了磁盘上,因此执行 count(*) 的时候会直接返回这个数,效率很高: 而 ...