用构造而不是筛选可能会更快 因为domain非常小
考虑简单的情况三个数 a,b,c。把三个数都分解了,也就是
a=\prod P,b=\prod Q,c=\prod R。P,Q,R都是素数的list。
让L=lcm(a,b,c)。那么\prod P \prod Q \prod R = L是符合题目条件的情况。那么很明显P中所有素数必须存在于(R,Q)集合里。那接下来可以就直接构造a,b,c。比方说从2 \in P开始,也就是让a=2*...,那么要么b=2*..,要么c=2*..,并且不能两个都含有2。这个方法跟楼上的方法是正交的,可以一起用。而且这个方法可以多线程并行加速。
--
FROM 37.136.230.*