def finding_gcd(a,b):
while(b!=0):
result = b
a, b = b, a%b
return result
def test_finding_gcd():
num1 = 21
num2 = 12
assert(finding_gcd(num1, num2) == 3)
print("테스트 통과")
if __name__=="__main__":
test_finding_gcd()
최대공약수(gcd)를 찾는 문제이다.
먼저 a, b를 입력으로 받고 b가 0이 아닐 때까지 while문을 돌게 된다. 그 후 result는 b로 받고 (while 문에서 b를 확인하니까!) 상대적으로 큰 수 (b)와 나머지 수(a를 b로 나눴을 때의 나머지)를 a와 b에 다시 할당한다.
내가 수학적으로 최대공약수를 찾는 방법과 달라 조금 생소했다. 이를 활용한 백준 2824번 풀이.
N = int(input())
N_list = (input().split())
M = int(input())
M_list = (input().split())
A, B = 1, 1
for i in range(N):
A *= i
for j in range(M):
B *= j
while (B!=0):
A, B = B, A%B
print(B)
import random
def testing_random():
"""random 모듈 테스트"""
values = [1,2,3,4]
print(random.choice(values))
print(random.choice(values))
print(random.choice(values))
print(random.sample(values, 2))
print(random.sample(values, 3))
"""values 리스트를 섞는다"""
random.shuffle(values)
print(values)
"""0~10의 임의의 정수를 생성한다"""
print(random.randint(0, 10))
print(random.randint(0, 10))
if __name__ == "__main__":
testing_random()