M개의 정수가 주어지면 모든 수의 쌍의 최대 공약수를 구하는 프로그램을 작성하십시오.
문제를 해결하다
#01
def gcd(a,b):
while b:
mod=b
b=a%b
a=mod
return a
for _ in range(int(input())):
#02
x=list(map(int,input().split()))
ans=0
for i in range(len(x)):
for j in range(len(x)):
#03
if i!
=j and i>j:
ans=max(gcd(x(i),x(j)),ans)
print(ans)
– #01: 유클리드 알고리즘의 최대공약수를 구하는 함수를 만드세요.
– #02 : x에 입력된 값을 리스트 형태로 저장합니다.
출력할 ans 값의 기본값은 0으로 설정됩니다.
for 문과 함께 무차별 대입을 사용하여 gcd에 값을 입력합니다.
– #03 : i와 j의 값이 같지 않고 j가 i 인덱스 다음의 값이면 gcd를 실행한다.
함수의 반환 값이 현재 ans 값보다 크면 해당 값이 ans에 저장됩니다.
마지막으로 각 테스트에 대해 ans가 출력됩니다.