데이터 취업 스쿨 스터디 노트 -(11) 기초수학 문제풀이

테리·2024년 6월 17일
0

서로소(3_033)

  • 1 외에 공약수가 없는 경우

100부터 1000사이의 2개의 난수에 대해서 공약수와 최대공약수를 출력하고, 서로소인지 출력하는 프로그램 만들기

import random

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

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

maxNum = 0
#최대 공약수를 구할 때 두개의 수 중에서 작은 수에 대해서만 구하면됨.
#큰 수에 대해서 구해봤자 작은수 이상의 수는 어차피 공약수가 안됨.
for n in range(1,min(rNum1,rNum2)+1):   #min() 숫자 중에서 작은수를 반환함
    if rNum1 % n ==0 and rNum2 % n ==0:
        print(f'공약수: {n}')
        maxNum = n
print(f'최대공약수: {maxNum}')

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

순열, 조합 함수

순열(nPr): math.perm(n,r)
조합(nCr): math.comb(n,r)

0개의 댓글