C. Orac and LCM(gcd与lcm的性质)
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的性质)相关推荐
- C. Orac and LCM(数论lcm, gcd)
C. Orac and LCM 思路 题目非常简单,就是求gcd(lcm(i,j))foriinrange(n),forjinrange(n),i<jgcd(lcm_(i,\ j))\ for\ ...
- 数论(一)——素数,GCD,LCM
这是一个数论系列:) 一.素数 ×费马小定理 Theorem: 设 p 是一个素数,a 是一个整数且不是 p 的倍数,那么 很遗憾,费马小定理的逆定理是不成立的.对 a = 2,满足的非素数 n 是存 ...
- 数论----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. ...
- hdu-4497 GCD and LCM
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=4497 题目大意: 给出三个数的gcd和lcm,求出这三个数有多少种可能性 解题思路: 设lcm / ...
- 【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 ...
- 已知gcd和lcm求a+b最小和?------数论
题意 给出2个数a,b的 gcd(最大公约数n) 和 lcm(最小公倍数m),求所有符合条件的a,b中, 的最小 值. 思路 暴力枚举.根据 gcd(a,b)lcm(a,b)=ab 我们可以得到 ab ...
- 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 ...
- 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, 思路分析: 当这样的组合存 ...
- 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 ...
最新文章
- oracle 加号和on,Oracle中连接与加号(+)的使用
- linux开启ftp
- python3 字符串 和 列表(list)互相转换
- Keras【Deep Learning With Python】—使用keras-神经网络来做线性回归问题
- 开关电源反馈环路设计matlab,开关电源控制环路设计(初级篇).pdf
- 几种用函数指针方式来访问类成员函数的方法总结
- 数据分析与挖掘理论-数据探索
- 感谢有你 WebRTCon 2018优秀出品人、讲师与志愿者
- 计算机信息加工的类型及举例,3.1.2计算机信息加工的过程和类型
- Arduino Uno + Lora shield rf95_server 提示错误“Init failed!”
- android textview密文,TextView 明密文处理
- 谷歌 Chrome 同步功能可滥用于 C2 通信及数据提取
- 网络热词下的民意传播
- python可以用于工业机器人编程_给工业机器人编程,最有效的办法是什么?
- JavaWeb之路02--请求与响应
- 完美国际架设mysql_完美国际SF-物理机架设服务端教程
- dota英雄技能快捷键大全
- 计算机必须设置默认打印机,win10系统禁止更改默认打印机设置的还原技巧
- CI/CD——构建企业级Docker+Jenkins+Git+Harbor流水线自动化持续集成持续发布平台
- 此nvidia驱动程序与此windows版本不兼容
热门文章
- 我的朋友圈又被刷屏了
- java下freemarker2.3.28+aspose实现生成word文档生成、word转pdf转换
- Fireworks Extension —— AutoSlice 介绍
- 业务逻辑写在存储过程好还是后端好_用存储过程和 JAVA 写报表数据源有什么差异...
- linux安装 pycocotools_Windows下安装 pycocotools
- 计算机争夺战作文,家庭电脑争夺战小学作文
- 【Microsoft Azure 的1024种玩法】六十八.基于Azure云平台使用Azure Virtual machines快速搭建Docker容器
- 【游戏开发实战】使用Unity制作水果消消乐游戏教程(二):随机生成水果
- java 读excle poi3.8_POI 3.8读取2003与2007格式EXCEL(xls、xlsx)
- Ubuntu安装待办事项工具gnome-todo