X
和Y
是大于100位数字的整数。找到在范围[X
,Y
[内的整数P
,它保证具有“最佳”素数分解(即具有最多唯一质因数的分解)。
我所做的只是检查质数并分解范围内的每个数字,找到符合规则的数字。还有其他方法吗?
编辑:
在上面的例子中,123456被分解为
2^6 * 3^1 * 643^1
,即2 * 2 * 2 * 2 * 2 * 2 * 3 * 643
,但只有3个唯一因数。
而答案123690被分解为6个唯一因数
2^1 * 3^1 * 5^1 * 7^1 * 19^1 * 31^1
。
P = 2*2*2*....*2
。如果它在 X 和 Y 之间,你就赢了。否则,尝试P = 2*2*2*.... *3
等等。递归地尝试每个可能的乘法,使用最小的数字。 - Arnaud Denoyelle