A prime is a positive integer X that has exactly two distinct divisors: 1 and X. The first few prime integers are 2, 3, 5, 7, 11 and 13.
A prime D is called a prime divisor of a positive integer P if there exists a positive integer K such that D * K = P. For example, 2 and 5 are prime divisors of 20.
You are given two positive integers N and M. The goal is to check whether the sets of prime divisors of integers N and M are exactly the same.
For example, given:
- N = 15 and M = 75, the prime divisors are the same: {3, 5};
- N = 10 and M = 30, the prime divisors aren't the same: {2, 5} is not equal to {2, 3, 5};
- N = 9 and M = 5, the prime divisors aren't the same: {3} is not equal to {5}.
Write a function:
def solution(A, B)
that, given two non-empty arrays A and B of Z integers, returns the number of positions K for which the prime divisors of A[K] and B[K] are exactly the same.
For example, given:
A[0] = 15 B[0] = 75 A[1] = 10 B[1] = 30 A[2] = 3 B[2] = 5the function should return 1, because only one pair (15, 75) has the same set of prime divisors.
Write an efficient algorithm for the following assumptions:
- Z is an integer within the range [1..100,000];
- each element of arrays A and B is an integer within the range [1..2,147,483,647].
def solution(A, B):
# write your code in Python 3.6
count = 0
for (a, b) in zip(A, B):
gcd_value = gcd(max(a, b), min(a, b))
if gcd_value % (a / gcd_value) == 0 and gcd_value % (b / gcd_value) == 0:
count += 1
#print(count)
return count
def gcd(N, M):
if M == 0:
return N
return gcd(M, N % M)
The submission is being evaluated.
def solution(A, B):
# write your code in Python 3.6
count = 0
for (a, b) in zip(A, B):
gcd_value = gcd(max(a, b), min(a, b))
if gcd_value % (a / gcd_value) == 0 and gcd_value % (b / gcd_value) == 0:
count += 1
#print(count)
return count
def gcd(N, M):
if M == 0:
return N
return gcd(M, N % M)
def solution(A, B):
# write your code in Python 3.6
count = 0
for (a, b) in zip(A, B):
gcd_value = gcd(max(a, b), min(a, b))
print(gcd_value)
print(a/gcd_value)
print(b/gcd_value)
if gcd_value % (a / gcd_value) == 0 and gcd_value % (b / gcd_value) == 0:
count += 1
#print(count)
return count
def gcd(N, M):
if M == 0:
return N
return gcd(M, N % M)
The submission is being evaluated.
def solution(A, B):
# write your code in Python 3.6
count = 0
for (a, b) in zip(A, B):
gcd_value = gcd(max(a, b), min(a, b))
print(gcd_value)
print(a/gcd_value)
print(b/gcd_value)
if gcd_value % (a / gcd_value) == 0 and gcd_value % (b / gcd_value) == 0:
count += 1
#print(count)
return count
def gcd(N, M):
if M == 0:
return N
return gcd(M, N % M)
def solution(A, B):
# write your code in Python 3.6
count = 0
for (a, b) in zip(A, B):
gcd_value = gcd(max(a, b), min(a, b))
print(gcd_value)
print(a/gcd_value)
print(b/gcd_value)
if gcd_value % (a / gcd_value) == 0 a gcd_value % (b / gcd_value) == 0:
count += 1
#print(count)
return count
def gcd(N, M):
if M == 0:
return N
return gcd(M, N % M)
def solution(A, B):
# write your code in Python 3.6
count = 0
for (a, b) in zip(A, B):
gcd_value = gcd(max(a, b), min(a, b))
print(gcd_value)
print(a/gcd_value)
print(b/gcd_value)
if gcd_value % (a / gcd_value) == gcd_value % (b / gcd_value) :
count += 1
#print(count)
return count
def gcd(N, M):
if M == 0:
return N
return gcd(M, N % M)
The submission is being evaluated.
def solution(A, B):
# write your code in Python 3.6
count = 0
for (a, b) in zip(A, B):
gcd_value = gcd(max(a, b), min(a, b))
print(gcd_value)
print(a/gcd_value)
print(b/gcd_value)
if gcd_value % (a / gcd_value) == 0 and gcd_value % (b / gcd_value) == 0:
count += 1
#print(count)
return count
def gcd(N, M):
if M == 0:
return N
return gcd(M, N % M)
The submission is being evaluated.
def solution(A, B):
# write your code in Python 3.6
count = 0
for (a, b) in zip(A, B):
gcd_value = gcd(max(a, b), min(a, b))
print(gcd_value)
print(a/gcd_value)
print(b/gcd_value)
if gcd_value % (a // gcd_value) == 0 and gcd_value % (b / gcd_value) == 0:
count += 1
#print(count)
return count
def gcd(N, M):
if M == 0:
return N
return gcd(M, N % M)
def solution(A, B):
# write your code in Python 3.6
count = 0
for (a, b) in zip(A, B):
gcd_value = gcd(max(a, b), min(a, b))
print(gcd_value)
print(a/gcd_value)
print(b/gcd_value)
if gcd_value % (a // gcd_value) == 0 and gcd_value % (b // gcd_value) == 0:
count += 1
#print(count)
return count
def gcd(N, M):
if M == 0:
return N
return gcd(M, N % M)
The submission is being evaluated.
def solution(A, B):
# write your code in Python 3.6
count = 0
for (a, b) in zip(A, B):
gcd_value = gcd(max(a, b), min(a, b))
print(gcd_value)
print(a/gcd_value)
print(b/gcd_value)
gcd(max(a/gcd_value, b/))
#print(count)
return count
def gcd(N, M):
if M == 0:
return N
return gcd(M, N % M)
def solution(A, B):
# write your code in Python 3.6
count = 0
for (a, b) in zip(A, B):
gcd_value = gcd(max(a, b), min(a, b))
print(gcd_value)
print(a/gcd_value)
print(b/gcd_value)
gcd(max(a/gcd_value, b/gcd_value), min(a/gcd_value, b/gcd_value))
#print(count)
return count
def gcd(N, M):
if M == 0:
return N
return gcd(M, N % M)
def solution(A, B):
# write your code in Python 3.6
count = 0
for (a, b) in zip(A, B):
gcd_value = gcd(max(a, b), min(a, b))
print(gcd_value)
print(a/gcd_value)
print(b/gcd_value)
print(gcd(max(a/gcd_value, b/gcd_value), min(a/gcd_value, b/gcd_value)))
#print(count)
return count
def gcd(N, M):
if M == 0:
return N
return gcd(M, N % M)
The submission is being evaluated.
def solution(A, B):
# write your code in Python 3.6
count = 0
for (a, b) in zip(A, B):
gcd_value = gcd(max(a, b), min(a, b))
#print(gcd_value)
#print(a/gcd_value)
#print(b/gcd_value)
print(gcd(max(a/gcd_value, b/gcd_value), min(a/gcd_value, b/gcd_value)))
#print(count)
return count
def gcd(N, M):
if M == 0:
return N
return gcd(M, N % M)
The submission is being evaluated.
The submission is being evaluated.
The submission is being evaluated.
The submission is being evaluated.
The submission is being evaluated.
The submission is being evaluated.
The submission is being evaluated.
The submission is being evaluated.
def solution(A, B):
# write your code in Python 3.6
count = 0
for (a, b) in zip(A, B):
gcd_value = gcd(max(a, b), min(a, b))
print(gcd_value)
print(gcd(max(a/gcd_value, gcd_value)), min(a/gcd_value, gcd_value))
#print(count)
#return count
def gcd(N, M):
if M == 0:
return N
return gcd(M, N % M)
The submission is being evaluated.
The submission is being evaluated.
The submission is being evaluated.
def solution(A, B):
# write your code in Python 3.6
count = 0
for (a, b) in zip(A, B):
ab_gcd = gcd(max(a, b), min(a,b))
print(ab_gcd)
a_gcd_mod = a /gcd(a, ab_gcd)
print(a_gcd_mod)
b_gcd_mod = b
#print(count)
#return count
def gcd(N, M):
if M == 0:
return N
return gcd(M, N % M)
def solution(A, B):
# write your code in Python 3.6
count = 0
for (a, b) in zip(A, B):
ab_gcd = gcd(max(a, b), min(a,b))
print(ab_gcd)
a_gcd_mod = a / gcd(a, ab_gcd)
print(a_gcd_mod)
b_gcd_mod = b / gcd(b, ab_gcd)
print(b_gcd_mod)
#print(count)
#return count
def gcd(N, M):
if M == 0:
return N
return gcd(M, N % M)
The submission is being evaluated.
def solution(A, B):
# write your code in Python 3.6
count = 0
for (a, b) in zip(A, B):
ab_gcd = gcd(max(a, b), min(a,b))
print(ab_gcd)
a_gcd_mod = a / gcd(a, ab_gcd)
print(a_gcd_mod)
b_gcd_mod = b / gcd(b, ab_gcd)
print(b_gcd_mod)
if a_gcd_mod == 1 and b_
#print(count)
#return count
def gcd(N, M):
if M == 0:
return N
return gcd(M, N % M)
def solution(A, B):
# write your code in Python 3.6
count = 0
for (a, b) in zip(A, B):
ab_gcd = gcd(max(a, b), min(a,b))
print(ab_gcd)
a_gcd_mod = a / gcd(a, ab_gcd)
print(a_gcd_mod)
b_gcd_mod = b / gcd(b, ab_gcd)
print(b_gcd_mod)
if a_gcd_mod == 1 and b_gcd_mod == 1:
count += 1
return count
#print(count)
#return count
def gcd(N, M):
if M == 0:
return N
return gcd(M, N % M)
The submission is being evaluated.
def solution(A, B):
# write your code in Python 3.6
count = 0
for (a, b) in zip(A, B):
ab_gcd = gcd(max(a, b), min(a,b))
print(ab_gcd)
a_gcd_mod = a / gcd(a, ab_gcd)
print(a_gcd_mod)
b_gcd_mod = b / gcd(b, ab_gcd)
#print(b_gcd_mod)
if a_gcd_mod == 1 and b_gcd_mod == 1:
count += 1
return count
#print(count)
#return count
def gcd(N, M):
if M == 0:
return N
return gcd(M, N % M)
def solution(A, B):
# write your code in Python 3.6
count = 0
for (a, b) in zip(A, B):
ab_gcd = gcd(max(a, b), min(a,b))
print(ab_gcd)
a_gcd_mod = a / gcd(a, ab_gcd)
print(a_gcd_mod)
b_gcd_mod = b / gcd(b, ab_gcd)
#print(b_gcd_mod)
if int(a_gcd_mod) == 1 and int(b_gcd_mod) == 1:
count += 1
return count
#print(count)
#return count
def gcd(N, M):
if M == 0:
return N
return gcd(M, N % M)
The submission is being evaluated.
def solution(A, B):
# write your code in Python 3.6
count = 0
for (a, b) in zip(A, B):
ab_gcd = gcd(max(a, b), min(a,b))
print(ab_gcd)
a_gcd_mod = a / gcd(a, ab_gcd)
print(a_gcd_mod)
b_gcd_mod = b / gcd(b, ab_gcd)
#print(b_gcd_mod)
if ina_gcd_mod) == 1 and int(b_gcd_mod) == 1:
count += 1
return count
#print(count)
#return count
def gcd(N, M):
if M == 0:
return N
return gcd(M, N % M)
def solution(A, B):
# write your code in Python 3.6
count = 0
for (a, b) in zip(A, B):
ab_gcd = gcd(max(a, b), min(a,b))
print(ab_gcd)
a_gcd_mod = a / gcd(a, ab_gcd)
print(a_gcd_mod)
b_gcd_mod = b / gcd(b, ab_gcd)
print(b_gcd_mod)
#print(b_gcd_mod)
if a_gcd_mod == 1 and b_gcd_mod == 1:
count += 1
return count
#print(count)
#return count
def gcd(N, M):
if M == 0:
return N
return gcd(M, N % M)
The submission is being evaluated.
def solution(A, B):
# write your code in Python 3.6
count = 0
for (a, b) in zip(A, B):
ab_gcd = gcd(max(a, b), min(a,b))
print(ab_gcd)
a_gcd_mod = (a / gcd(a, ab_gcd)
print(a_gcd_mod)
b_gcd_mod = b / gcd(b, ab_gcd)
print(b_gcd_mod)
#print(b_gcd_mod)
if a_gcd_mod == 1 and b_gcd_mod == 1:
count += 1
return count
#print(count)
#return count
def gcd(N, M):
if M == 0:
return N
return gcd(M, N % M)
def solution(A, B):
# write your code in Python 3.6
count = 0
for (a, b) in zip(A, B):
ab_gcd = gcd(max(a, b), min(a,b))
print(ab_gcd)
a_gcd_mod = gcd(a / ab_gcd , ab_gcd)
print(a_gcd_mod)
b_gcd_mod = gcd(b / ab_gcd, ab_gcd)
print(b_gcd_mod)
#print(b_gcd_mod)
if a_gcd_mod == 1 and b_gcd_mod == 1:
count += 1
return count
#print(count)
#return count
def gcd(N, M):
if M == 0:
return N
return gcd(M, N % M)
def solution(A, B):
# write your code in Python 3.6
count = 0
for (a, b) in zip(A, B):
ab_gcd = gcd(max(a, b), min(a,b))
print(ab_gcd)
a_gcd_mod = gcd(a / ab_gcd , ab_gcd)
print(a_gcd_mod)
b_gcd_mod = gcd(b / ab_gcd, ab_gcd)
print(b_gcd_mod)
#print(b_gcd_mod)
if a_gcd_mod == 1 and b_gcd_mod == 1:
count += 1
return count
#print(count)
#return count
def gcd(N, M):
if M == 0:
return N
return gcd(M, N % M)
The submission is being evaluated.
def solution(A, B):
# write your code in Python 3.6
count = 0
for (a, b) in zip(A, B):
ab_gcd = gcd(max(a, b), min(a,b))
print(ab_gcd)
a_gcd_mod = gcd(a / ab_gcd , ab_gcd)
print(a_gcd_mod)
b_gcd_mod = gcd(b / ab_gcd, ab_gcd)
print(b_gcd_mod)
#print(b_gcd_mod)
if a_gcd_mod == 1 and b_gcd_mod == 1:
count += 1
return count
#print(count)
#return count
def gcd(N, M):
if M == 0:
return N
return gcd(M, N % M)
def solution(A, B):
# write your code in Python 3.6
count = 0
for (a, b) in zip(A, B):
print(a, b)
ab_gcd = gcd(max(a, b), min(a,b))
print(ab_gcd)
a_gcd_mod = gcd(a / ab_gcd , ab_gcd)
print(a_gcd_mod)
b_gcd_mod = gcd(b / ab_gcd, ab_gcd)
print(b_gcd_mod)
#print(b_gcd_mod)
if a_gcd_mod == 1 and b_gcd_mod == 1:
count += 1
return count
#print(count)
#return count
def gcd(N, M):
if M == 0:
return N
return gcd(M, N % M)
The submission is being evaluated.
def solution(A, B):
# write your code in Python 3.6
count = 0
for (a, b) in zip(A, B):
print(a, b)
ab_gcd = gcd(max(a, b), min(a,b))
print(ab_gcd)
a_gcd_mod = gcd(a / ab_gcd , ab_gcd)
print(a_gcd_mod)
b_gcd_mod = gcd(b / ab_gcd, ab_gcd)
print(b_gcd_mod)
#print(b_gcd_mod)
if a_gcd_mod == 1 and b_gcd_mod == 1:
count += 1
return count
#print(count)
#return count
def gcd(N, M):
if M == 0:
return N
return gcd(M, N % M)
The submission is being evaluated.
def solution(A, B):
# write your code in Python 3.6
count = 0
for (a, b) in zip(A, B):
print(a, b)
ab_gcd = gcd(max(a, b), min(a,b))
print(ab_gcd)
if a_gcd_mod == 1 and b_gcd_mod == 1:
count += 1
return count
#print(count)
#return count
def gcd(N, M):
if M == 0:
return N
return gcd(M, N % M)
def solution(A, B):
# write your code in Python 3.6
count = 0
for (a, b) in zip(A, B):
print(a, b)
ab_gcd = gcd(max(a, b), min(a,b))
print(ab_gcd)
if a_gcd_mod == 1 and b_gcd_mod == 1:
count += 1
return count
#print(count)
#return count
def gcd(N, M):
if M == 0:
return N
return gcd(M, N % M)
The submission is being evaluated.
The submission is being evaluated.
def solution(A, B):
# write your code in Python 3.6
count = 0
for (a, b) in zip(A, B):
ab_gcd = gcd(max(a,b), min(a,b))
a_gcd = gcd(max(a / ab_gcd, ab_gcd), min(a/ ab_gcd, ab_gcd))
b_gcd = gcd(max(b / ab_gcd, ab_gcd), min(b/ ab_gcd, ab_gcd))
print(a_gcd, b_gcd)
print(a,b, ab_gcd)
def gcd(N, M):
if M == 0:
return N
return gcd(M, N % M)
The submission is being evaluated.
def solution(A, B):
# write your code in Python 3.6
count = 0
for (a, b) in zip(A, B):
ab_gcd = gcd(max(a,b), min(a,b))
a_gcd = gcd(max(a / ab_gcd, ab_gcd), min(a/ ab_gcd, ab_gcd))
b_gcd = gcd(max(b / ab_gcd, ab_gcd), min(b/ ab_gcd, ab_gcd))
la
print(a_gcd, b_gcd)
print(a,b, ab_gcd)
def gcd(N, M):
if M == 0:
return N
return gcd(M, N % M)
def solution(A, B):
# write your code in Python 3.6
count = 0
for (a, b) in zip(A, B):
ab_gcd = gcd(max(a,b), min(a,b))
a_gcd = gcd(max(a / ab_gcd, ab_gcd), min(a/ ab_gcd, ab_gcd))
b_gcd = gcd(max(b / ab_gcd, ab_gcd), min(b/ ab_gcd, ab_gcd))
last_gcd = gcd(max(a_gcd, ab_gcd), min(a_gcd))
print(a_gcd, b_gcd)
print(a,b, ab_gcd)
def gcd(N, M):
if M == 0:
return N
return gcd(M, N % M)
def solution(A, B):
# write your code in Python 3.6
count = 0
for (a, b) in zip(A, B):
ab_gcd = gcd(max(a,b), min(a,b))
a_gcd = gcd(max(a / ab_gcd, ab_gcd), min(a/ ab_gcd, ab_gcd))
b_gcd = gcd(max(b / ab_gcd, ab_gcd), min(b/ ab_gcd, ab_gcd))
print(a_gcd, b_gcd)
print(a,b, ab_gcd)
def gcd(N, M):
if M == 0:
return N
return gcd(M, N % M)
def solution(A, B):
# write your code in Python 3.6
count = 0
for (a, b) in zip(A, B):
ab_gcd = gcd(max(a,b), min(a,b))
a_gcd = gcd(max(a / ab_gcd, ab_gcd), min(a/ ab_gcd, ab_gcd))
b_gcd = gcd(max(b / ab_gcd, ab_gcd), min(b/ ab_gcd, ab_gcd))
print(a_gcd, b_gcd)
print(a,b, ab_gcd)
def gcd(N, M):
if M == 0:
return N
return gcd(M, N % M)
def solution(A, B):
# write your code in Python 3.6
count = 0
for (a, b) in zip(A, B):
ab_gcd = gcd(max(a,b), min(a,b))
a_gcd = gcd(max(a / ab_gcd, ab_gcd), min(a/ ab_gcd, ab_gcd))
b_gcd = gcd(max(b / ab_gcd, ab_gcd), min(b/ ab_gcd, ab_gcd))
a_gcd_gcd =
print(a_gcd, b_gcd)
print(a,b, ab_gcd)
def gcd(N, M):
if M == 0:
return N
return gcd(M, N % M)
def solution(A, B):
# write your code in Python 3.6
count = 0
for (a, b) in zip(A, B):
ab_gcd = gcd(max(a,b), min(a,b))
a_gcd = gcd(max(a / ab_gcd, ab_gcd), min(a/ ab_gcd, ab_gcd))
b_gcd = gcd(max(b / ab_gcd, ab_gcd), min(b/ ab_gcd, ab_gcd))
a_div_gcd =
print(a_gcd, b_gcd)
print(a,b, ab_gcd)
def gcd(N, M):
if M == 0:
return N
return gcd(M, N % M)
def solution(A, B):
# write your code in Python 3.6
count = 0
for (a, b) in zip(A, B):
ab_gcd = gcd(max(a,b), min(a,b))
a_gcd = gcd(max(a / ab_gcd, ab_gcd), min(a/ ab_gcd, ab_gcd))
b_gcd = gcd(max(b / ab_gcd, ab_gcd), min(b/ ab_gcd, ab_gcd))
a_div_gcd = a / ab_gcd / a_gcd
b_div_gcd = b / ab_gcd / b_gcd
print(a_div_gcd, b_div_gcd)
def gcd(N, M):
if M == 0:
return N
return gcd(M, N % M)
def solution(A, B):
# write your code in Python 3.6
count = 0
for (a, b) in zip(A, B):
ab_gcd = gcd(max(a,b), min(a,b))
a_gcd = gcd(max(a / ab_gcd, ab_gcd), min(a/ ab_gcd, ab_gcd))
b_gcd = gcd(max(b / ab_gcd, ab_gcd), min(b/ ab_gcd, ab_gcd))
a_div_gcd = a / ab_gcd / a_gcd
b_div_gcd = b / ab_gcd / b_gcd
print(a_div_gcd, b_div_gcd)
def gcd(N, M):
if M == 0:
return N
return gcd(M, N % M)
The submission is being evaluated.
def solution(A, B):
# write your code in Python 3.6
count = 0
for (a, b) in zip(A, B):
ab_gcd = gcd(max(a,b), min(a,b))
a_gcd = gcd(max(a / ab_gcd, ab_gcd), min(a/ ab_gcd, ab_gcd))
b_gcd = gcd(max(b / ab_gcd, ab_gcd), min(b/ ab_gcd, ab_gcd))
a_div_gcd = a / ab_gcd / a_gcd
b_div_gcd = b / ab_gcd / b_gcd
print(a_div_gcd, b_div_gcd)
if a_div_gcd == 1 and b_div_gcd:
count += 1
return count
def gcd(N, M):
if M == 0:
return N
return gcd(M, N % M)
def solution(A, B):
# write your code in Python 3.6
count = 0
for (a, b) in zip(A, B):
ab_gcd = gcd(max(a,b), min(a,b))
a_gcd = gcd(max(a / ab_gcd, ab_gcd), min(a/ ab_gcd, ab_gcd))
b_gcd = gcd(max(b / ab_gcd, ab_gcd), min(b/ ab_gcd, ab_gcd))
a_div_gcd = a / ab_gcd / a_gcd
b_div_gcd = b / ab_gcd / b_gcd
#print(a_div_gcd, b_div_gcd)
if a_div_gcd == 1 and b_div_gcd:
count += 1
return count
def gcd(N, M):
if M == 0:
return N
return gcd(M, N % M)
The submission is being evaluated.
def solution(A, B):
# write your code in Python 3.6
count = 0
for (a, b) in zip(A, B):
ab_gcd = gcd(max(a,b), min(a,b))
a_gcd = gcd(max(a / ab_gcd, ab_gcd), min(a/ ab_gcd, ab_gcd))
b_gcd = gcd(max(b / ab_gcd, ab_gcd), min(b/ ab_gcd, ab_gcd))
a_div_gcd = a / ab_gcd / a_gcd
b_div_gcd = b / ab_gcd / b_gcd
#print(a_div_gcd, b_div_gcd)
if a_div_gcd == 1 and b_div_gcd == 1:
count += 1
return count
def gcd(N, M):
if M == 0:
return N
return gcd(M, N % M)
The submission is being evaluated.
def solution(A, B):
# write your code in Python 3.6
count = 0
for (a, b) in zip(A, B):
ab_gcd = gcd(max(a,b), min(a,b))
a_gcd = gcd(max(a / ab_gcd, ab_gcd), min(a/ ab_gcd, ab_gcd))
b_gcd = gcd(max(b / ab_gcd, ab_gcd), min(b/ ab_gcd, ab_gcd))
a_div_gcd = a / ab_gcd / a_gcd
b_div_gcd = b / ab_gcd / b_gcd
#print(a_div_gcd, b_div_gcd)
if a_div_gcd == 1 and b_div_gcd == 1:
count += 1
return count
def gcd(N, M):
if M == 0:
return N
return gcd(M, N % M)
The submission is being evaluated.
def solution(A, B):
# write your code in Python 3.6
count = 0
for (a, b) in zip(A, B):
ab_gcd = gcd(max(a,b), min(a,b))
a_gcd = gcd(max(a / ab_gcd, ab_gcd), min(a/ ab_gcd, ab_gcd))
b_gcd = gcd(max(b / ab_gcd, ab_gcd), min(b/ ab_gcd, ab_gcd))
a_div_gcd = a / ab_gcd / a_gcd
b_div_gcd = b / ab_gcd / b_gcd
#print(a_div_gcd, b_div_gcd)
if a_div_gcd == 1 and b_div_gcd == 1:
count += 1
return count
def gcd(N, M):
if M == 0:
return N
return gcd(M, N % M)
The submission is being evaluated.