题解 | 一道GCD问题

一道GCD问题

https://www.nowcoder.com/practice/4bd77fafb14847b58ec78c8c1198b1d9

import sys
import math
#多维更相减损数
#x<y<z
#gcd(x,y,z)=gcd(x,y-x,z-y)
#所以题目gcd(a1+k,a2+k....)=gcd(a1+k,a2-a1.....)=g
#所以k=(g-a1%g)%g

data=list(sys.stdin.read().splitlines())
n=int(data[0])
lst=list(map(int,data[1].split()))
lst.sort()
g=0
for i in range(1,n):
    g=math.gcd(g,lst[i]-lst[i-1])
print(g,(g-lst[0]%g)%g)

全部评论

相关推荐

12-27 22:21
门头沟学院 Java
点赞 评论 收藏
分享
安静的鲸鱼offer...:神仙级别hr,可遇不可求,甚至他可能也是突然有感而发。只能说遇上是件幸事。
秋招开始捡漏了吗
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务