def getTotalX(a, b):
# Write your code here
def gcd(x, y):
if x > y:
s = y
y = x
x = s
# x < y
while(y > 0):
x, y = y, x % y
return x
def lcm(x, y):
return x * y // gcd(x, y)
_lcm = a[0]
for i in range(1, len(a)):
_lcm = lcm(_lcm, a[i])
if _lcm > 100:
return 0
_gcd = b[0]
for i in range(1, len(b)):
_gcd = gcd(_gcd, b[i])
if (_gcd == 0) or (_lcm > _gcd):
return 0
cnt = 0
for i in range(_lcm, _gcd + 1):
# b의 약수이고, a의 배수인 경우
if (i % _lcm == 0) and (_gcd % i == 0):
cnt += 1
return cnt
'# 코딩 문제 관련 > 파이썬' 카테고리의 다른 글
[HackerRank-python] Subarray Division (0) | 2022.07.03 |
---|---|
[HackerRank-python] Breaking the Records (0) | 2022.07.02 |
[HackerRank-python] Number Line Jumps (0) | 2022.07.01 |
[HackerRank-python] Apple and Orange (0) | 2022.06.29 |
[HackerRank-python] Grading Students (0) | 2022.06.29 |