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,这个数字将是巨大的.
你怎么看?有任何想法吗?如何用一定数量的除数计算最小数?
编辑:我不认为这是重复的.这个问题是更具体的,它涉及一类特殊的多更大的数字.在其他问题通常要求.它的答案不适用于这个问题,它的大小不同.