Problem - 1350C - Codeforces

题意:

对于正整数的多集合s={s1,s2,...,sk},定义s的最大公除数(GCD)和最小公倍数(LCM)如下。

gcd(s)是最大的正整数x,使得s中的所有整数都能在x上被除。
lcm(s)是最小的正整数x,它能被s中的所有整数整除。
例如,gcd({8,12})=4,gcd({12,18,6})=6和lcm({4,6})=12。注意,对于任何正整数x,gcd({x})=lcm({x})=x。

Orac有一个长度为n的序列,他想出了一个多集t={lcm({ai,aj}) | i<j},并要求你为他找到gcd(t)的值。换句话说,你需要计算给定序列中所有元素对的LCM的GCD。

输入
第一行包含一个整数n(2≤n≤100000)。

第二行包含n个整数,a1,a2,...,an (1≤ai≤200000)。

输出
打印一个整数:gcd({lcm({ai,aj}) | i<j})。

题解:

对于a1产生的lcm有lcm(a1,a2),lcm(a1,a3) ... lcm(a1,an)

对于他们的gcd1 = gcd(lcm(a1,a2),lcm(a1,a3) ... lcm(a1,an))

他们都有公因数a1所以可以写成

gcd1 = (a1,gcd(a2,a3,...an))

同理其他ai也可以写成上面形式

答案可以表示为gcd(gcd1,gcd2...gcdn)

#include<iostream>
#include<algorithm>
#include<map>
#include<string>
using namespace std;
long long a[200050],gcd[200050];int main()
{int n;cin >> n;for(int i = 1;i <= n;i++){cin >> a[i];}for(int i = n;i >= 1;i--){gcd[i] = __gcd(gcd[i+1],a[i]);}long long ans = 0;for(int i = 1;i <= n;i++){ans =__gcd(ans,a[i]*gcd[i+1]/(__gcd(a[i],gcd[i+1])));}cout<<ans;}

C. Orac and LCM(gcd与lcm的性质)相关推荐

  1. C. Orac and LCM(数论lcm, gcd)

    C. Orac and LCM 思路 题目非常简单,就是求gcd(lcm(i,j))foriinrange(n),forjinrange(n),i<jgcd(lcm_(i,\ j))\ for\ ...

  2. 数论(一)——素数,GCD,LCM

    这是一个数论系列:) 一.素数 ×费马小定理 Theorem: 设 p 是一个素数,a 是一个整数且不是 p 的倍数,那么 很遗憾,费马小定理的逆定理是不成立的.对 a = 2,满足的非素数 n 是存 ...

  3. 数论----gcd和lcm

    gcd即最大公约数,lcm即最小公倍数. 首先给出a×b=gcd×lcm 证明:令gcd(a,b)=k,a=xk,b=yk,则a×b=x*y*k*k,而lcm=x*y*k,所以a*b=gcd*lcm. ...

  4. hdu-4497 GCD and LCM

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=4497 题目大意: 给出三个数的gcd和lcm,求出这三个数有多少种可能性 解题思路: 设lcm / ...

  5. 【HDU4497 GCD and LCM】

    题意:已知l,g其中g=gcd(x,y,z),l=lcm(x,y,z),问有x,y,z多少种组合使得关系成立.         题解:已知x%g=y%g=z%g=0,l%x=l%y=l%z=0,所以l ...

  6. 已知gcd和lcm求a+b最小和?------数论

    题意 给出2个数a,b的 gcd(最大公约数n) 和 lcm(最小公倍数m),求所有符合条件的a,b中, 的最小 值. 思路 暴力枚举.根据 gcd(a,b)lcm(a,b)=ab 我们可以得到 ab ...

  7. GCD and LCM Aizu - 0005(辗转相除)+GCD LCM Inverse POJ - 2429(java或【Miller Rabin素数測试】+【Pollar Rho整数分解】)

    题目:GCD and LCM Aizu - 0005 Write a program which computes the greatest common divisor (GCD) and the ...

  8. GCD and LCM HDU - 4497(素数打表+唯一分解定理)求多少种情况

    题目大意: 给你两个数最小公倍数L,最大公约数G,问你有多少有序数组(x,y,z)满足GCD(x,y,z)=G,LCM(x,y,z)=L,首先如果gcd(x,y,z)=G, 思路分析: 当这样的组合存 ...

  9. 1575 Gcd and Lcm

    1575 Gcd and Lcm ∑i=1n∑j=1i∑k=1ilcm(gcd(i,j),gcd(i,k))设f(n)=∑i=1n∑j=1nlcm(gcd(i,n),gcd(j,n))f(p)=3p2 ...

最新文章

  1. oracle 加号和on,Oracle中连接与加号(+)的使用
  2. linux开启ftp
  3. python3 字符串 和 列表(list)互相转换
  4. Keras【Deep Learning With Python】—使用keras-神经网络来做线性回归问题
  5. 开关电源反馈环路设计matlab,开关电源控制环路设计(初级篇).pdf
  6. 几种用函数指针方式来访问类成员函数的方法总结
  7. 数据分析与挖掘理论-数据探索
  8. 感谢有你 WebRTCon 2018优秀出品人、讲师与志愿者
  9. 计算机信息加工的类型及举例,3.1.2计算机信息加工的过程和类型
  10. Arduino Uno + Lora shield rf95_server 提示错误“Init failed!”
  11. android textview密文,TextView 明密文处理
  12. 谷歌 Chrome 同步功能可滥用于 C2 通信及数据提取
  13. 网络热词下的民意传播
  14. python可以用于工业机器人编程_给工业机器人编程,最有效的办法是什么?
  15. JavaWeb之路02--请求与响应
  16. 完美国际架设mysql_完美国际SF-物理机架设服务端教程
  17. dota英雄技能快捷键大全
  18. 计算机必须设置默认打印机,win10系统禁止更改默认打印机设置的还原技巧
  19. CI/CD——构建企业级Docker+Jenkins+Git+Harbor流水线自动化持续集成持续发布平台
  20. 此nvidia驱动程序与此windows版本不兼容

热门文章

  1. 我的朋友圈又被刷屏了
  2. java下freemarker2.3.28+aspose实现生成word文档生成、word转pdf转换
  3. Fireworks Extension —— AutoSlice 介绍
  4. 业务逻辑写在存储过程好还是后端好_用存储过程和 JAVA 写报表数据源有什么差异...
  5. linux安装 pycocotools_Windows下安装 pycocotools
  6. 计算机争夺战作文,家庭电脑争夺战小学作文
  7. 【Microsoft Azure 的1024种玩法】六十八.基于Azure云平台使用Azure Virtual machines快速搭建Docker容器
  8. 【游戏开发实战】使用Unity制作水果消消乐游戏教程(二):随机生成水果
  9. java 读excle poi3.8_POI 3.8读取2003与2007格式EXCEL(xls、xlsx)
  10. Ubuntu安装待办事项工具gnome-todo