백준 2981 - 검문 (파이썬)
Updated:
Answer
import math
n = int(input())
a = [0] * n
b = []
gcd = 0
for i in range(n):
a[i] = int(input())
if i == 1:
gcd = a[1] - a[0]
gcd = math.gcd(abs(a[i] - a[i - 1]), gcd)
for i in range(2, int(math.sqrt(gcd)) + 1):
if gcd % i == 0:
b.append(i)
b.append(gcd // i)
b.append(gcd)
b = list(set(b))
b.sort()
print(*b)