如何得到一个随机数对(a,b),它们的乘积是常数:a * b = python和numpy中的常量?
在python3中,对于整数,你可以这样做:
import random
n = 144 # your constant
a, b = random.choice([(a, n // a) for a in range(1, n + 1) if n % a == 0])
但对大数字来说效果很慢
如果你不受整数限制,你可以使用random.uniform()
n = 123456
a = random.uniform(1, n)
b = n / a