기초수학_문풀_최대공약수

jaam._.mini·2023년 11월 15일
0

📒Python 기초 수학

목록 보기
30/46

Q>

A>

import random

rNum1 = random.randint(100, 1000)
rNum2 = random.randint(100, 1000)

print(f'rNum1 : {rNum1}')
print(f'rNu2 : {rNum2}')

maxNum = 0

for n in range(1, (min(rNum1, rNum2)+1)):

    if rNum1 % n == 0 and rNum2 % n ==0:
        print(f'공약수 : {n}')
        maxNum = n

print(f'최대공약수 : {maxNum}')

if maxNum == 1:
    print(f'{rNum1}과 {rNum2}은 서로소 이다')

A>풀이

#1. 난수 발생
#(1) random모듈
import random

#(2) 난수 2개 설정
rNum1 = random.randint(100, 1000)
rNum2 = random.randint(100, 1000)

#(3)  난수 출력되는지 확인
print(f'rNum1 : {rNum1}')
print(f'rNu2 : {rNum2}')

#(8) 최대공약수 변수를 선언
maxNum = 0

#현재 둘중 어느 수가 작을지 모르는 상황임,
#최대공약수는 둘 중 작은 숫자의 약수를 아는 것이 중요함(작은 숫자 보다 큰 값은 서로의 공약수가 아니기 때문)
#(4) min함수 사용 : 숫자 2개 중 작은 숫자 하나를 반환해 줌.
#(5) for+range로 +1을 해줘야 원하는 숫자까지 제대로 반복 됨
for n in range(1, (min(rNum1, rNum2)+1)):
    #(6) 최대공약수를 구하는 공식!! 암기하자!
    if rNum1 % n == 0 and rNum2 % n ==0:
        # (7) 맞는지 출력
        print(f'공약수 : {n}')
        #(9) 공약수가 발생할 때 마다 할당을 해주면 결과적으로 최대공약수를 구할 수 있음!! 할당!!
        maxNum = n

#반복문 종료-----------------------------------------------------------
#(10) 출력
print(f'최대공약수 : {maxNum}')

#+ (11) 서로소 출력, 최대공약수가 1만 나오는 경우를 알아보기 위함
if maxNum == 1:
    print(f'{rNum1}과 {rNum2}은 서로소 이다')
  • 서로소 보기

출처/참고 : 제로베이스 데이터 스쿨
profile
비전공자의 데이터 공부법

0개의 댓글