相关疑难解决方法(0)

如何用一定数量的除数计算最小数?

来自Project Euler问题500

120的除数是16.事实上,120是具有16个除数的最小数.

找到2**500500除数的最小数字.给出你的答案模500500507.

这很简单,可以计算n的除数,例如.在Python中len([i for i in range(1,n+1) if n % i == 0]).这是O(n).

我尝试了强力搜索,发现32个除数的最小数是840,但对于上面的问题来说太慢了.从不平等的角度来看count_divisors(n) <= n,这个数字将是巨大的.

你怎么看?有任何想法吗?如何用一定数量的除数计算最小数?


编辑:我不认为这是重复的.这个问题是更具体的,它涉及一类特殊的更大的数字.在其他问题通常要求.它的答案不适用于这个问题,它的大小不同.

algorithm math

15
推荐指数
1
解决办法
2万
查看次数

标签 统计

algorithm ×1

math ×1