500error
[Cos Pro 1급, Python] 5차 8번 : 공약수 구하기 본문
반응형
문제
세 수 a, b, c의 공약수가 몇 개인지 구하려고 합니다. 공약수란, 동시에 모든 정수의 약수인 정수를 뜻합니다. 예를 들어, 세 수 24, 9, 15의 공약수는 1, 3이고, 따라서 양의 공약수는 2개입니다.
세 수의 공약수가 몇 개인지 구하기 위해 다음과 같이 프로그램 구조를 작성했습니다.
- 세 수의 최대공약수를 구합니다.
- 앞서 구한 최대공약수의 약수가 몇 개인지 구합니다.
세 수 a, b, c가 매개변수로 주어질 때, 세 수의 약수가 몇 개인지 return 하도록 solution 함수를 작성하려 합니다. 위 구조를 참고하여 코드가 올바르게 동작할 수 있도록 빈칸에 주어진 func_a, func_b, func_c 함수와 매개변수를 알맞게 채워주세요.
코드
def func_a(a, b):
mod = a % b
while mod > 0:
a = b
b = mod
mod = a % b
return b
def func_b(n):
answer = 0
for i in range(1, n+1):
if func_c(n, i):
answer += 1
return answer
def func_c(p, q):
if p % q == 0:
return True
else:
return False
def solution(a, b, c):
answer = 0
gcd = func_a(func_a(a, b), c)
answer = func_b(gcd)
return answer
a = 24
b = 9
c = 15
ret = solution(a, b, c)
print("solution 함수의 반환 값은", ret, "입니다.")
반응형
'알고리즘 > 파이썬' 카테고리의 다른 글
[Cos Pro 1급, Python] 5차 10번 : 계산기 만들기 (0) | 2024.03.02 |
---|---|
[Cos Pro 1급, Python] 5차 9번 : 몇번 연산을 해야 하나요 (0) | 2024.03.02 |
[Cos Pro 1급, Python] 5차 7번 : 그래프에서 싸이클 찾기 (0) | 2024.03.02 |
[Cos Pro 1급, Python] 5차 6번 : p진법 to q진법 (0) | 2024.03.01 |
[Cos Pro 1급, Python] 5차 5번 : 몬스터 잡기 (0) | 2024.03.01 |
Comments