16 lines
348 B
Python
16 lines
348 B
Python
|
|
def gcd(a, b):
|
|
return 0 == b and a or gcd(b, a % b)
|
|
|
|
def t(limit, a, b):
|
|
l = []
|
|
for m in range(limit + 1, 1, -1):
|
|
n, d = divmod(m * a, b)
|
|
if gcd(n, m) == 1:
|
|
l.append((d / m, n, m))
|
|
if 1 == d:
|
|
break
|
|
for x in sorted(l, key=lambda x: x[0]):
|
|
return x[1:]
|
|
|
|
print(t(1000000, 3, 7)) |