当前位置:  开发笔记 > 人工智能 > 正文

找到一个具有正好N个除数的最小数字

如何解决《找到一个具有正好N个除数的最小数字》经验,为你挑选了1个好方法。

假设我们有一些除数N.我想找到一个minimum number具有N个除数的除数.

我的算法

我找到了素数(pm = [2,3,5,7,..])

我找到了N的素因子(N = 12,p = [2,2,3],反转p rp = [3,2,2])

number*= pm[i]^(rp[i]-1),i = 1 ...素数因子的长度

对于N = 12,答案是 60 = 2^(3-1) * 3^(2-1) * 5^(2-1)

但是对于数字243,我的算法给出了错误的答案(5336100 - 但它不是具有243个除数的最小数).预期的数字是2822400.

我的错在哪里?有文献吗?



1> Salvador Dal..:

让我们从OEIS序列开始.现在任何数字都可以表示为主要权力的乘积.

在此输入图像描述

它会有多少个除数?您可以使用组合学来证明它将具有:

在此输入图像描述

因此,您必须求解上面的表达式等于您拥有的除法数的等式.我不会在这里编写代码,但请注意,因为您正在寻找整数解,所以您可以计算出除数的数量.

当你找到你的时候m_i,你可以通过排序m_i和分配最大m_i到最小的素数来获得最小的数字.所以,如果你的m1 = 2,m2 = 5,m3 = 2,数量会2^5 * 3^2 * 5^2.

推荐阅读
保佑欣疼你的芯疼
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有