(알고리즘) 백준 9417 Python – Max GCD


문제

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가 출력됩니다.