두 개의 숫자와 b가 있다고 가정합니다. 우리는 와 b의 제수인 양의 정수가 몇 개 있는지 찾아야 합니다.
따라서 입력이 a =288 b =240과 같으면 공약수가 [1,2,3,4,6,8,12,16,24,48]이기 때문에 출력은 10이 됩니다.
이 문제를 해결하기 위해 다음 단계를 따릅니다. −
- res :=0
- gcd(a, b) + 1 범위의 i에 대해
- (a mod i)가 0이고 (b mod i)가 0이면
- res :=res + 1
- (a mod i)가 0이고 (b mod i)가 0이면
- 반환 결과
예시
이해를 돕기 위해 다음 구현을 살펴보겠습니다. −
from math import gcd def solve(a, b): res = 0 for i in range(1, gcd(a,b)+1): if (a % i) == 0 and (b % i) == 0: res += 1 return res a, b = 288, 240 print(solve(a, b))
입력
288, 240
출력
10