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].
Invalid result type, int expected, <class 'NoneType'> found.stdout:
0 0 0
Invalid result type, int expected, <class 'NoneType'> found.stdout:
15 75 10 30 9 5
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
def solution(A, B):
# write your code in Python 3.6
for (a, b) in zip(A, B):
print(a, b)
gcd(a, b)
def gcd(M, N):
if M == N:
return M
if M > N:
return gcd(M - N, N)
else:
return gcd(N - M, M)
Invalid result type, int expected, <class 'NoneType'> found.stdout:
15 75 10 30 9 5
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
def solution(A, B):
# write your code in Python 3.6
for (a, b) in zip(A, B):
print(a, b)
print(gcd(a, b))
def gcd(M, N):
if M == N:
return M
if M > N:
return gcd(M - N, N)
else:
return gcd(N - M, M)
Invalid result type, int expected, <class 'NoneType'> found.stdout:
15 75 15 10 30 10 9 5 1
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
def solution(A, B):
# write your code in Python 3.6
for (a, b) in zip(A, B):
gcd_value = gcd(a, b)
print(a/gcd_value)
print(b/gcd_value)
def gcd(M, N):
if M == N:
return M
if M > N:
return gcd(M - N, N)
else:
return gcd(N - M, M)
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
def solution(A, B):
# write your code in Python 3.6
for (a, b) in zip(A, B):
gcd_value = gcd(a, b)
print(a/gcd_value)
print(b/gcd_value)
def gcd(M, N):
if M == N:
return M
if M > N:
return gcd(M - N, N)
else:
return gcd(N - M, M)
Invalid result type, int expected, <class 'NoneType'> found.stdout:
1.0 5.0 1.0 3.0 9.0 5.0
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
def solution(A, B):
# write your code in Python 3.6
for (a, b) in zip(A, B):
gcd_value = gcd(a, b)
print(a/gcd_value)
print(b/gcd_value)
def gcd(M, N):
if M == N:
return M
if M > N:
return gcd(M - N, N)
else:
return gcd(N - M, M)
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
def solution(A, B):
# write your code in Python 3.6
for (a, b) in zip(A, B):
gcd_value = gcd(a, b)
print(a/gcd_value)
print(b/gcd_value)
print(gcd_value)
def gcd(M, N):
if M == N:
return M
if M > N:
return gcd(M - N, N)
else:
return gcd(N - M, M)
Invalid result type, int expected, <class 'NoneType'> found.stdout:
1.0 5.0 15 1.0 3.0 10 9.0 5.0 1
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
def solution(A, B):
# write your code in Python 3.6
for (a, b) in zip(A, B):
gcd_value = gcd(a, b)
print(a/gcd_value)
print(b/gcd_value)
print(gcd_value)
i
def gcd(M, N):
if M == N:
return M
if M > N:
return gcd(M - N, N)
else:
return gcd(N - M, M)
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
def solution(A, B):
# write your code in Python 3.6
for (a, b) in zip(A, B):
gcd_value = gcd(a, b)
print(a/gcd_value)
print(b/gcd_value)
print(gcd_value)
if gcd % (a / gcd_value)
def gcd(M, N):
if M == N:
return M
if M > N:
return gcd(M - N, N)
else:
return gcd(N - M, M)
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
def solution(A, B):
# write your code in Python 3.6
for (a, b) in zip(A, B):
gcd_value = gcd(a, b)
print(a/gcd_value)
print(b/gcd_value)
print(gcd_value)
if gcd % (a / gcd_value) != 0 or gcd % (b / gcd_value) != 0:
retur
def gcd(M, N):
if M == N:
return M
if M > N:
return gcd(M - N, N)
else:
return gcd(N - M, M)
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
def solution(A, B):
# write your code in Python 3.6
for (a, b) in zip(A, B):
gcd_value = gcd(a, b)
print(a/gcd_value)
print(b/gcd_value)
print(gcd_value)
if gcd % (a / gcd_value) != 0 or gcd % (b / gcd_value) != 0:
print(gcd)
def gcd(M, N):
if M == N:
return M
if M > N:
return gcd(M - N, N)
else:
return gcd(N - M, M)
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
def solution(A, B):
# write your code in Python 3.6
for (a, b) in zip(A, B):
gcd_value = gcd(a, b)
#print(a/gcd_value)
#print(b/gcd_value)
#print(gcd_value)
if gcd % (a / gcd_value) != 0 or gcd % (b / gcd_value) != 0:
print(gcd)
def gcd(M, N):
if M == N:
return M
if M > N:
return gcd(M - N, N)
else:
return gcd(N - M, M)
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
def solution(A, B):
# write your code in Python 3.6
count = 0
for (a, b) in zip(A, B):
gcd_value = gcd(a, b)
#print(a/gcd_value)
#print(b/gcd_value)
#print(gcd_value)
if gcd % (a / gcd_value) != 0 or gcd % (b / gcd_value) != 0:
count += 1
print(count)
def gcd(M, N):
if M == N:
return M
if M > N:
return gcd(M - N, N)
else:
return gcd(N - M, M)
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
def solution(A, B):
# write your code in Python 3.6
count = 0
for (a, b) in zip(A, B):
gcd_value = gcd(a, b)
#print(a/gcd_value)
#print(b/gcd_value)
#print(gcd_value)
if gcd % (a / gcd_value) != 0 or gcd % (b / gcd_value) != 0:
count += 1
print(count)
def gcd(M, N):
if M == N:
return M
if M > N:
return gcd(M - N, N)
else:
return gcd(N - M, M)
Traceback (most recent call last): File "exec.py", line 139, in <module> main() File "exec.py", line 101, in main result = solution( A, B ) File "/tmp/solution.py", line 14, in solution if gcd % (a / gcd_value) != 0 or gcd % (b / gcd_value) != 0: TypeError: unsupported operand type(s) for %: 'function' and 'float'
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
def solution(A, B):
# write your code in Python 3.6
count = 0
for (a, b) in zip(A, B):
gcd_value = gcd(a, b)
#print(a/gcd_value)
#print(b/gcd_value)
#print(gcd_value)
if gcd % int(a / gcd_value) != 0 or gcd % int(b / gcd_value) != 0:
count += 1
print(count)
def gcd(M, N):
if M == N:
return M
if M > N:
return gcd(M - N, N)
else:
return gcd(N - M, M)
Traceback (most recent call last): File "exec.py", line 139, in <module> main() File "exec.py", line 101, in main result = solution( A, B ) File "/tmp/solution.py", line 14, in solution if gcd % int(a / gcd_value) != 0 or gcd % int(b / gcd_value) != 0: TypeError: unsupported operand type(s) for %: 'function' and 'int'
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
def solution(A, B):
# write your code in Python 3.6
count = 0
for (a, b) in zip(A, B):
gcd_value = gcd(a, b)
#print(a/gcd_value)
#print(b/gcd_value)
#print(gcd_value)
if gcd % in(a / gcd_value) != 0 or gcd % int(b / gcd_value) != 0:
count += 1
print(count)
def gcd(M, N):
if M == N:
return M
if M > N:
return gcd(M - N, N)
else:
return gcd(N - M, M)
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
def solution(A, B):
# write your code in Python 3.6
count = 0
for (a, b) in zip(A, B):
gcd_value = gcd(a, b)
#print(a/gcd_value)
#print(b/gcd_value)
#print(gcd_value)
#if gcd % (a / gcd_value) != 0 or gcd % (b / gcd_value) != 0:
count += 1
print(count)
def gcd(M, N):
if M == N:
return M
if M > N:
return gcd(M - N, N)
else:
return gcd(N - M, M)
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
def solution(A, B):
# write your code in Python 3.6
count = 0
for (a, b) in zip(A, B):
gcd_value = gcd(a, b)
#print(a/gcd_value)
#print(b/gcd_value)
#print(gcd_value)
print(gcd % (a/gcd_value))
#if gcd % (a / gcd_value) != 0 or gcd % (b / gcd_value) != 0:
#count += 1
print(count)
def gcd(M, N):
if M == N:
return M
if M > N:
return gcd(M - N, N)
else:
return gcd(N - M, M)
Traceback (most recent call last): File "exec.py", line 139, in <module> main() File "exec.py", line 101, in main result = solution( A, B ) File "/tmp/solution.py", line 13, in solution print(gcd % (a/gcd_value)) TypeError: unsupported operand type(s) for %: 'function' and 'float'
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
def solution(A, B):
# write your code in Python 3.6
count = 0
for (a, b) in zip(A, B):
gcd_value = gcd(a, b)
#print(a/gcd_value)
#print(b/gcd_value)
#print(gcd_value)
print(gcd % (a/gcd_value))
if gcd % (a / gcd_value) != 0 or gcd % (b / gcd_value) != 0:
#count += 1
print(count)
def gcd(M, N):
if M == N:
return M
if M > N:
return gcd(M - N, N)
else:
return gcd(N - M, M)
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
def solution(A, B):
# write your code in Python 3.6
count = 0
for (a, b) in zip(A, B):
gcd_value = gcd(a, b)
#print(a/gcd_value)
#print(b/gcd_value)
#print(gcd_value)
print(gcd % (a/gcd_value))
if gcd_value % (a / gcd_value) != 0 or gcd_value % (b / gcd_value) != 0:
count += 1
print(count)
def gcd(M, N):
if M == N:
return M
if M > N:
return gcd(M - N, N)
else:
return gcd(N - M, M)
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
def solution(A, B):
# write your code in Python 3.6
count = 0
for (a, b) in zip(A, B):
gcd_value = gcd(a, b)
#print(a/gcd_value)
#print(b/gcd_value)
#print(gcd_value)
#print(gcd % (a/gcd_value))
if gcd_value % (a / gcd_value) != 0 or gcd_value % (b / gcd_value) != 0:
count += 1
print(count)
def gcd(M, N):
if M == N:
return M
if M > N:
return gcd(M - N, N)
else:
return gcd(N - M, M)
Invalid result type, int expected, <class 'NoneType'> found.stdout:
2
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
def solution(A, B):
# write your code in Python 3.6
count = 0
for (a, b) in zip(A, B):
gcd_value = gcd(a, b)
#print(a/gcd_value)
#print(b/gcd_value)
#print(gcd_value)
#print(gcd % (a/gcd_value))
if gcd_value % (a / gcd_value) != 0 or gcd_value % (b / gcd_value) != 0:
count += 1
print(count)
def gcd(M, N):
if M == N:
return M
if M > N:
return gcd(M - N, N)
else:
return gcd(N - M, M)
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
def solution(A, B):
# write your code in Python 3.6
count = 0
for (a, b) in zip(A, B):
gcd_value = gcd(a, b)
print(a/gcd_value)
print(b/gcd_value)
print(gcd_value)
#print(gcd % (a/gcd_value))
if gcd_value % (a / gcd_value) != 0 or gcd_value % (b / gcd_value) != 0:
count += 1
print(count)
def gcd(M, N):
if M == N:
return M
if M > N:
return gcd(M - N, N)
else:
return gcd(N - M, M)
Invalid result type, int expected, <class 'NoneType'> found.stdout:
1.0 5.0 15 1.0 3.0 10 9.0 5.0 1 2
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
def solution(A, B):
# write your code in Python 3.6
count = 0
for (a, b) in zip(A, B):
gcd_value = gcd(a, b)
print(a/gcd_value)
print(b/gcd_value)
print(gcd_value)
#print(gcd % (a/gcd_value))
if gcd_value % (a / gcd_value) != 0 or gcd_value % (b / gcd_value) != 0:
count += 1
prin
print(count)
def gcd(M, N):
if M == N:
return M
if M > N:
return gcd(M - N, N)
else:
return gcd(N - M, M)
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
def solution(A, B):
# write your code in Python 3.6
count = 0
for (a, b) in zip(A, B):
gcd_value = gcd(a, b)
print(a/gcd_value)
print(b/gcd_value)
print(gcd_value)
#print(gcd % (a/gcd_value))
if gcd_value % (a / gcd_value) != 0 or gcd_value % (b / gcd_value) != 0:
count += 1
print(a, b)
print(count)
def gcd(M, N):
if M == N:
return M
if M > N:
return gcd(M - N, N)
else:
return gcd(N - M, M)
Invalid result type, int expected, <class 'NoneType'> found.stdout:
1.0 5.0 15 1.0 3.0 10 10 30 9.0 5.0 1 9 5 2
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
def solution(A, B):
# write your code in Python 3.6
count = 0
for (a, b) in zip(A, B):
gcd_value = gcd(a, b)
print(a/gcd_value)
print(b/gcd_value)
print(gcd_value)
#print(gcd % (a/gcd_value))
if gcd_value % (a / gcd_value) == 0 or gcd_value % (b / gcd_value) != 0:
count += 1
print(a, b)
print(count)
def gcd(M, N):
if M == N:
return M
if M > N:
return gcd(M - N, N)
else:
return gcd(N - M, M)
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
def solution(A, B):
# write your code in Python 3.6
count = 0
for (a, b) in zip(A, B):
gcd_value = gcd(a, b)
print(a/gcd_value)
print(b/gcd_value)
print(gcd_value)
#print(gcd % (a/gcd_value))
if gcd_value % (a / gcd_value) == 0 or gcd_value % (b / gcd_value) == 0:
count += 1
print(a, b)
print(count)
def gcd(M, N):
if M == N:
return M
if M > N:
return gcd(M - N, N)
else:
return gcd(N - M, M)
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
def solution(A, B):
# write your code in Python 3.6
count = 0
for (a, b) in zip(A, B):
gcd_value = gcd(a, b)
print(a/gcd_value)
print(b/gcd_value)
print(gcd_value)
#print(gcd % (a/gcd_value))
if gcd_value % (a / gcd_value) == 0 and gcd_value % (b / gcd_value) == 0:
count += 1
print(a, b)
print(count)
def gcd(M, N):
if M == N:
return M
if M > N:
return gcd(M - N, N)
else:
return gcd(N - M, M)
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
def solution(A, B):
# write your code in Python 3.6
count = 0
for (a, b) in zip(A, B):
gcd_value = gcd(a, b)
print(a/gcd_value)
print(b/gcd_value)
print(gcd_value)
#print(gcd % (a/gcd_value))
if gcd_value % (a / gcd_value) == 0 and gcd_value % (b / gcd_value) == 0:
count += 1
print(a, b)
print(count)
def gcd(M, N):
if M == N:
return M
if M > N:
return gcd(M - N, N)
else:
return gcd(N - M, M)
Invalid result type, int expected, <class 'NoneType'> found.stdout:
1.0 5.0 15 15 75 1.0 3.0 10 9.0 5.0 1 1
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
def solution(A, B):
# write your code in Python 3.6
count = 0
for (a, b) in zip(A, B):
gcd_value = gcd(a, b)
print(a/gcd_value)
print(b/gcd_value)
print(gcd_value)
#print(gcd % (a/gcd_value))
if gcd_value % (a / gcd_value) == 0 and gcd_value % (b / gcd_value) == 0:
count += 1
#print(a, b)
print(count)
def gcd(M, N):
if M == N:
return M
if M > N:
return gcd(M - N, N)
else:
return gcd(N - M, M)
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
def solution(A, B):
# write your code in Python 3.6
count = 0
for (a, b) in zip(A, B):
gcd_value = gcd(a, b)
#print(a/gcd_value)
#print(b/gcd_value)
#print(gcd_value)
#print(gcd % (a/gcd_value))
if gcd_value % (a / gcd_value) == 0 and gcd_value % (b / gcd_value) == 0:
count += 1
#print(a, b)
#print(count)
return count
def gcd(M, N):
if M == N:
return M
if M > N:
return gcd(M - N, N)
else:
return gcd(N - M, M)
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
def solution(A, B):
# write your code in Python 3.6
count = 0
for (a, b) in zip(A, B):
gcd_value = gcd(a, b)
#print(a/gcd_value)
#print(b/gcd_value)
#print(gcd_value)
#print(gcd % (a/gcd_value))
if gcd_value % (a / gcd_value) == 0 and gcd_value % (b / gcd_value) == 0:
count += 1
#print(a, b)
#print(count)
return count
def gcd(M, N):
if M == N:
return M
if M > N:
return gcd(M - N, N)
else:
return gcd(N - M, M)
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
def solution(A, B):
# write your code in Python 3.6
count = 0
for (a, b) in zip(A, B):
gcd_value = gcd(a, b)
#print(a/gcd_value)
#print(b/gcd_value)
#print(gcd_value)
#print(gcd % (a/gcd_value))
if gcd_value % (a / gcd_value) == 0 and gcd_value % (b / gcd_value) == 0:
count += 1
#print(a, b)
#print(count)
return count
def gcd(M, N):
if M == N:
return M
if M > N:
return gcd(M - N, N)
else:
return gcd(N - M, M)
[[], []]
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
def solution(A, B):
# write your code in Python 3.6
count = 0
for (a, b) in zip(A, B):
gcd_value = gcd(a, b)
print(a/gcd_value)
#print(b/gcd_value)
#print(gcd_value)
#print(gcd % (a/gcd_value))
if gcd_value % (a / gcd_value) == 0 and gcd_value % (b / gcd_value) == 0:
count += 1
#print(a, b)
#print(count)
return count
def gcd(M, N):
if M == N:
return M
if M > N:
return gcd(M - N, N)
else:
return gcd(N - M, M)
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
def solution(A, B):
# write your code in Python 3.6
count = 0
for (a, b) in zip(A, B):
gcd_value = gcd(a, b)
print(a/gcd_value)
print(b/gcd_value)
print(gcd_value)
#print(gcd % (a/gcd_value))
if gcd_value % (a / gcd_value) == 0 and gcd_value % (b / gcd_value) == 0:
count += 1
#print(a, b)
#print(count)
return count
def gcd(M, N):
if M == N:
return M
if M > N:
return gcd(M - N, N)
else:
return gcd(N - M, M)
1.0 5.0 15 1.0 3.0 10 9.0 5.0 1
[[], []]
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
def solution(A, B):
# write your code in Python 3.6
count = 0
for (a, b) in zip(A, B):
gcd_value = gcd(a, b)
#print(a/gcd_value)
print(b/gcd_value)
print(gcd_value)
#print(gcd % (a/gcd_value))
if gcd_value % (a / gcd_value) == 0 and gcd_value % (b / gcd_value) == 0:
count += 1
#print(a, b)
#print(count)
return count
def gcd(M, N):
if M == N:
return M
if M > N:
return gcd(M - N, N)
else:
return gcd(N - M, M)
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
def solution(A, B):
# write your code in Python 3.6
count = 0
for (a, b) in zip(A, B):
gcd_value = gcd(a, b)
#print(a/gcd_value)
#print(b/gcd_value)
#print(gcd_value)
#print(gcd % (a/gcd_value))
if gcd_value % (a / gcd_value) == 0 and gcd_value % (b / gcd_value) == 0:
count += 1
#print(a, b)
#print(count)
return count
def gcd(M, N):
if M == N:
return M
if M > N:
return gcd(M - N, N)
else:
return gcd(N - M, M)
[[], []]
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
def solution(A, B):
# write your code in Python 3.6
count = 0
for (a, b) in zip(A, B):
gcd_value = gcd(a, b)
#print(a/gcd_value)
#print(b/gcd_value)
#print(gcd_value)
#print(gcd % (a/gcd_value))
if gcd_value % (a / gcd_value) == 0 and gcd_value % (b / gcd_value) == 0:
count += 1
#print(a, b)
#print(count)
return count
def gcd(M, N):
if M == N:
return M
if M > N:
return gcd(M - N, N)
else:
return gcd(N - M, M)
The following issues have been detected: wrong answers, runtime errors.
large random tests, length = ~6,000
tested program terminated with exit code 1
Traceback (most recent call last): File "exec.py", line 139, in <module> main() File "exec.py", line 101, in main result = solution( A, B ) File "/tmp/solution.py", line 8, in solution gcd_value = gcd(a, b) File "/tmp/solution.py", line 26, in gcd return gcd(M - N, N) File "/tmp/solution.py", line 28, in gcd return gcd(N - M, M) File "/tmp/solution.py", line 26, in gcd return gcd(M - N, N) File "/tmp/solution.py", line 26, in gcd return gcd(M - N, N) File "/tmp/solution.py", line 28, in gcd return gcd(N - M, M) File "/tmp/solution.py", line 28, in gcd return gcd(N - M, M) File "/tmp/solution.py", line 26, in gcd return gcd(M - N, N) File "/tmp/solution.py", line 28, in gcd return gcd(N - M, M) File "/tmp/solution.py", line 28, in gcd return gcd(N - M, M) File "/tmp/solution.py", line 26, in gcd return gcd(M - N, N) File "/tmp/solution.py", line 26, in gcd return gcd(M - N, N) File "/tmp/solution.py", line 28, in gcd return gcd(N - M, M) File "/tmp/solution.py", line 28, in gcd return gcd(N - M, M) File "/tmp/solution.py", line 26, in gcd return gcd(M - N, N) File "/tmp/solution.py", line 26, in gcd return gcd(M - N, N) File "/tmp/solution.py", line 26, in gcd return gcd(M - N, N) [Previous line repeated 979 more times] File "/tmp/solution.py", line 23, in gcd if M == N: RecursionError: maximum recursion depth exceeded in comparison
Traceback (most recent call last): File "exec.py", line 139, in <module> main() File "exec.py", line 101, in main result = solution( A, B ) File "/tmp/solution.py", line 8, in solution gcd_value = gcd(a, b) File "/tmp/solution.py", line 26, in gcd return gcd(M - N, N) File "/tmp/solution.py", line 28, in gcd return gcd(N - M, M) File "/tmp/solution.py", line 28, in gcd return gcd(N - M, M) File "/tmp/solution.py", line 28, in gcd return gcd(N - M, M) File "/tmp/solution.py", line 26, in gcd return gcd(M - N, N) File "/tmp/solution.py", line 26, in gcd return gcd(M - N, N) File "/tmp/solution.py", line 28, in gcd return gcd(N - M, M) File "/tmp/solution.py", line 26, in gcd return gcd(M - N, N) File "/tmp/solution.py", line 26, in gcd return gcd(M - N, N) File "/tmp/solution.py", line 26, in gcd return gcd(M - N, N) [Previous line repeated 13 more times] File "/tmp/solution.py", line 28, in gcd return gcd(N - M, M) File "/tmp/solution.py", line 28, in gcd return gcd(N - M, M) File "/tmp/solution.py", line 26, in gcd return gcd(M - N, N) File "/tmp/solution.py", line 26, in gcd return gcd(M - N, N) File "/tmp/solution.py", line 26, in gcd return gcd(M - N, N) File "/tmp/solution.py", line 28, in gcd return gcd(N - M, M) File "/tmp/solution.py", line 26, in gcd return gcd(M - N, N) File "/tmp/solution.py", line 28, in gcd return gcd(N - M, M) File "/tmp/solution.py", line 28, in gcd return gcd(N - M, M) File "/tmp/solution.py", line 28, in gcd return gcd(N - M, M) File "/tmp/solution.py", line 26, in gcd return gcd(M - N, N) File "/tmp/solution.py", line 26, in gcd return gcd(M - N, N) File "/tmp/solution.py", line 28, in gcd return gcd(N - M, M) File "/tmp/solution.py", line 26, in gcd return gcd(M - N, N) File "/tmp/solution.py", line 26, in gcd return gcd(M - N, N) File "/tmp/solution.py", line 28, in gcd return gcd(N - M, M) File "/tmp/s
Traceback (most recent call last): File "exec.py", line 139, in <module> main() File "exec.py", line 101, in main result = solution( A, B ) File "/tmp/solution.py", line 8, in solution gcd_value = gcd(a, b) File "/tmp/solution.py", line 26, in gcd return gcd(M - N, N) File "/tmp/solution.py", line 26, in gcd return gcd(M - N, N) File "/tmp/solution.py", line 26, in gcd return gcd(M - N, N) [Previous line repeated 992 more times] File "/tmp/solution.py", line 23, in gcd if M == N: RecursionError: maximum recursion depth exceeded in comparison
extreme test with maximal values
tested program terminated with exit code 1
Traceback (most recent call last): File "exec.py", line 139, in <module> main() File "exec.py", line 101, in main result = solution( A, B ) File "/tmp/solution.py", line 8, in solution gcd_value = gcd(a, b) File "/tmp/solution.py", line 26, in gcd return gcd(M - N, N) File "/tmp/solution.py", line 26, in gcd return gcd(M - N, N) File "/tmp/solution.py", line 26, in gcd return gcd(M - N, N) [Previous line repeated 992 more times] File "/tmp/solution.py", line 23, in gcd if M == N: RecursionError: maximum recursion depth exceeded in comparison