728x90
반응형

import sys
import math

N = int(sys.stdin.readline())
maxs=0
A = []
for i in range(N):
    a = int(sys.stdin.readline())
    A.append(a)
A= sorted(A)
res = []
for i in range(1,len(A)):
    if i==1:
        maxs = A[i]-A[i-1]
    maxs = math.gcd(A[i]-A[i-1] , maxs)

for i in range(1,int(maxs**0.5)+1):
    if maxs%i == 0:

        if ( (i**2) != maxs) :
            res.append(maxs // i)
        if i!=1:
            res.append(i)
print(*sorted(list(set(res))))

숫자 8 34 38 입력시 :

 

36과 8의 차이 = 28

28과 28의 최대공약수 : 28

 

38과 34의 차이 = 4

28과 4의 최대공약수 = 4

 

4의 약수 ==> 2 4

 

 

728x90
반응형

+ Recent posts