본문 바로가기
프로그램/Python 1000제

Python 113제] 파이썬 EXPRESS CHAPTER 4. Programming 11. p200

by 건티 2022. 12. 16.
728x90

출처 : 반크_세계유산 경복궁

 

참고풀이1]

N1=int(input("첫번째 정수를 입력하시오 : "))
N2=int(input("두번째 정수를 입력하시오 : "))

GCD=1
na=0
while True:
    na+=1
    if na>N1 or na>N2: break
    if N1%na==0 and N2%na==0:
        if GCD<na:
            GCD=na
print(f'{N1}과 {N2}의 최대 공약수는 {GCD}입니다.')

 

참고풀이 결과1]

 

참고풀이2]

N1=int(input("첫번째 정수를 입력하시오 : "))
N2=int(input("두번째 정수를 입력하시오 : "))


M1=N1
M2=N2
GCD=1
while True:
    if M1>M2:
        M=M2
    else:
        M=M1
    chk=True
    for na in range(2,M+1):
        if N1%na==0 and N2%na==0:
            GCD*=na
            M1//=na
            M2//=na
            chk=False
            break
    if chk: break
        
print(f'{N1}과 {N2}의 최대 공약수는 {GCD}입니다.')

참고풀이2 결과]

 

 

 

대한민국의 아름다운 영토, 독도

 

반응형

댓글