(python) 백준 2981 점검

2981호: 검사(acmicpc.net)

2981호: 검사

트럭을 타고 가던 상근이 경찰에 제지당했다. 경찰은 상근이가 나르는 택배를 하나하나 일일이 확인하기 때문에 확인하는 데 엄청나게 오랜 시간이 걸린다. 정규 근무 시간

www.acmicpc.net

문제

N개의 숫자를 종이에 적으세요.

그런 다음 종이에 적힌 숫자를 M으로 나누면 나머지가 모두 같도록 모든 M을 찾으려고 합니다. M은 1보다 커야 합니다.

N개의 숫자가 주어지면 가능한 모든 M을 찾는 프로그램을 작성하십시오.

설명

입력 값 간 차이의 최대 공약수 찾기

이 최대 공약수의 인수를 찾는 문제

A = gcd *a + 모드

B = gcd*b + 모드

C = gcd*c + 모드

A – B = gcd ( a – b )

B – C = gcd ( b – c )

(백준) 2981호 (python 파이썬) (tistory.com)

수입 시스템
입력 = sys.stdin.readline
수학 가져오기 sqrt, gcd에서

N = 정수(입력())

도착 = (0)*N

범위(N)의 i에 대해:
도착(i)=int(입력())

prev = arr(1)-arr(0) # 최대 공약수 기본값
for i in range(1, N): # 최대 공약수 찾기
이전 = gcd(이전, arr(i)-arr(i-1))
# 이전에 저장된 값과 지금까지 구한 최대공약수의 최대공약수의 차이

result = “” # 결과 저장

for i in range(2,prev+1): #2부터 최대 공약수까지 반복
if prev % i==0: # 최대 공약수의 약수인 경우 결과 추가
결과 = 결과 + str(i) + ” “
인쇄(결과)