`
isiqi
  • 浏览: 16049053 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

数论之因子个数的求法

 
阅读更多

1. N的因子个数

条件:给定任意一个一个正整数N

要求:求其因子的个数

首先给出结论:对于任意的整型N,分解质因数得到N= P1^x1 * P2^x2* …… * Pn^xn;

则N的因子个数M为 M=(x1+1) * (x2+1) * …… *(xn+1);

证明过程:

首先 举个例子吧

24 = 2^3 * 3^1;

其质因子有:为2和3 指数为 3和1

那么对于2 有0 1 2 3四种指数选择,对于3 有0 1两种指数选择

所以 就是4 * 2 = 8 个因子个数

如果还是不懂,那么我们就列举出来吧

2 3

2^0*3^0=1 2^0*3^1=3

2^1*3^0=2 2^1*3^1=6

2^2*3^0=4 2^2*3^1=12

2^3*3^0=8 2^3*3^1=24

结果很清晰了吧??其实这里用到了数学的排列组合的知识

也就是说每一个质因子的不同指数幂与其它质因子相乘,得到的结果一定不会重复

因此能够将所有的因子都列举出来。

所以N的因子数M,我们可以用M=(x1+1) * (x2+1) * …… *(xn+1)表示

2. N!的因子个数

有上面的结论,这个问题就变得明朗多了吧?嘿嘿,不要着急,这里面还有许多细节问题需要我们考虑。

a. 最大的质因子一定不会大于N

b. N的质因子并不完全包含N!所有的质因子

至于原因是什么,自己想想吧,嘿嘿

那我们就直接说思路了:

首先,我们可以把所有的N以内的质数给打表求出来

然后,求每一个质因子的指数个数,这里用到了一个公式,:

ei=[N/pi^1]+ [N/pi^2]+ …… + [N/pi^n] 其中[]为取整

附:这一步最近又想到了一个更好的方法 int ei=0;while(N) ei+=(N/=pi); 怎么样??

(想一想为什么,实在想不通你就举个例子试一下)

最后,就是套公式计算了,M=(e1+1)*(e2+1)*……*(en+1)

算了,还是举个例子吧

比如5!

质因子2的指数是 2+1=3;

质因子3的指数是 1;

质因子5的指数是 1;

所以因子个数为 4 * 2 * 2 = 16

5!=120 因子有1 2 3 4 5 6 8 10 12 15 20 24 30 4060 120 刚好16个

3.给定数列的乘积因子个数

其实这个也是基于第一个结论得到的。

给定 a1 a2 a3 …… an;

我们可以找到最大的一个元素Max(a);

把Max以内的素数打表

然后把质因子清零,进行如下循环,就可以找到各个质因子的个数:

for(a=1;a<=n;a++)

for(p=1;p<_;p++ )

if(__) e(p)++;

这样质因子的质数个数就求出来了,然后就可以根据公式M=(e1+1)*(e2+1)*……*(en+1)求出因子个数


分享到:
评论

相关推荐

    一个新数论函数的均值

    利用初等数论的方法解决了J(n)可乘数论函数在简单数序列中的均值问题,并给出了一个有趣的渐近式,即对任意x∈R,x≥3,有渐近式Σn≤x,n∈A J(n)=Dx4+Ox4ln lnx ln()x,其中D为可计算的常数。从而丰富了数论函数的内容。...

    数论在密码上的应用 杨重骏;杨照昆

    一般所谓的数论,特指正整数(即自然数)的许多性质,像质数的分布,方程式的正整数解,韩信点兵,及进位法都包括在数论里面,我们在小学时候学的分解因子,最大公约数也是数论的一部分,可惜因为数论在日常生活中没有...

    [算法数论].裴定一.清晰版.pdf

    本书论述了算法数论的基本内容,其中包括:连分数、代数数域、椭圆曲线、素性检验、大整数因子分解算法、椭圆曲线上的离散对数、超椭圆曲线。本书的特点是内容涉及面广,在有限的篇幅内,包含了必要的预备知识和数学...

    《数学·统计学系列:三角级数论》作者:(英)哈代 ,(英)罗戈辛斯基 著,徐瑞云 ,王斯雷 译 出版时间:2013年

     《数学·统计学系列:三角级数论》以现代的观点简明而完整地讲述傅里叶级数的基础理论,全书共分7章。第1章讲述预备性知识;第2,3章讲傅里叶级数的性质;第4章讲傅里叶级数的收敛性及其判别法;第5章、第6章讲...

    波拉德p-1因子分解法,maple命令代码

    数论及应用里面的试题哦,关于波拉德p-1因子分解法的。

    《算法数论》作者: 裴定一 / 祝跃飞 出版年: 2002年

    本书论述了算法数论的基本内容,其中包括:连分数、代数数域、椭圆曲线、素性检验、大整数因子分解算法、椭圆曲线上的离散对数、超椭圆曲线。本书的特点是内容涉及面广,在有限的篇幅内,包含了必要的预备知识和数学...

    早期代数数论的历史发展 (2010年)

    目的 探讨早期代数数论的产生和发展。方法 文献考证与概念分析。围绕高次互反律和费尔马大定理,分析其中关键的唯一因子分解问题。...结论 早期的代数数论是随着复整数、理想数等新的代数工具的引入-应运而生的。

    薛氏筛法 剩余倍分法再次收录以下专著 《素数分布及其在RSA分析中的应用》

    然后,对素数的分布规律,从薛式筛法中提出数数论理论,对素数在6n+1和6n-1两列分布形式中的因子分布规律进行讨论; ,从RSA公钥密码体制着手,分析了RSA密码分析面临的诸多问题,如RSA密码分析与攻击,整数分解和...

    算法导论(part1)

    ·在第21.4节中,我们换掉了对不相交-集合-并(disjoint-set-union)数据结构运行时间的证明,代之以利用潜势方法(potential method)导出一个紧致界的证明。 ·在第22.5节中,对强连通子图算法正确性的证明更简单、...

    两个数论函数复合的均值分布性质 (2012年)

    利用初等方法和解析方法研究了复合函数的均值分布性质,给出两个有趣的均值分布的渐近公式,完善了素因子函数Ωn、加法补数函数ak n及减法补数函数fk n在数论中的研究.

    试验优化设计方案.docx

    培养基优化单因素法 单因素方法(One at a time)的基本原理是保持培养基中其他所有组分的浓度不变,每次只研究一个组分的不同水平对发酵性能的影响。这种策略的优点是简单、容易,结果很明了,培养基组分的个体...

    ACM算法模版大集合

    求N的约数个数 求phi(N) 求约数和 快速数论变换 …… 素数问题 概率判素算法 概率因子分解 数据结构 组织结构 二叉堆 左偏树 二项树 胜者树 跳跃表 样式图标 斜堆 reap 统计结构 树状数组 ...

    ACM算法模板和pku代码

    归并排序求逆序数 Pell方程 Catalan数,100以内 欧拉函数讲解 组合计数 组合数计算(double) 组合数计算(高精度) r-组合生成算法 r-排列生成算法 r-错位排列生成算法 图论 传递闭包 欧拉回路判定 有向图...

    具体数学-计算机科学基础-课件.zip

    其主要内容涉及和式、整值函数、数论、二项式系数、特殊的数、生成函数、离散概率、渐近式等,都是编程所必备的知识.另外,本书包括了六大类500 多道习题,并给出了所有习题的解答,有助读者加深书中内容的理解 [1]...

    k次减法补数的因子函数均值的渐近公式 (2010年)

    应美籍罗马尼亚数论专家F.Smarandache教授的要求,研究类似于Smarandache补数函数的性质。利用初等方法和解析方法,获得了本文定义的k次减法补数均值性质及渐近公式,扩展了F.Smarandache教授在《OnlyProblems,...

    从抛物线谈起混沌动力学引论第2版 [郝柏林 著] 2013年版

    抛物线映射这个简单“可解”模型所蕴涵的丰富内容,可以导致统计物理和非线性科学中许多深刻的概念,例如周期和混沌吸引子、标度律和临界指数、李雅普诺夫指数和熵、分形分维和重正化群等等。分析抛物线映射的基本...

    RSA算法原理与实现合集.rar

    1978年,美国麻自理工学院(MIT)的Rivest,Shamir和Adleman在题为“获得数字签名和公开钥密码系统的方法”的论文中提出了基于数论的非对称(公开钥)密码体制,称为RSA密码体制。RSA是建立在“大整数的素因子分解是困难...

    RSA算法原理与实现课程设计.docx

    1978年,美国麻自理工学院(MIT)的Rivest,Shamir和Adleman在题为“获得数字签名和公开钥密码系统的方法”的论文中提出了基于数论的非对称(公开钥)密码体制,称为RSA密码体制。RSA是建立在“大整数的素因子分解是困难...

    关于一个可乘函数及其均值 (2012年)

    如果正整数n的所有真因子的乘积不超过n,称n为简单数.利用初等方法研究了可乘函数gd(n),gφ(n)在简单数序列上的性质,给出两个渐近公式,丰富了数论函数理论.

    包含Smarandache对偶函数的方程的正整数解 (2012年)

    利用初等数论及组合方法研究了一个包含Smarandache对偶函数及素因子函数方程∑d|n1/S*(d)=2Ω(n)的可解性。给出了这个方程所有正整数解的具体形式,即证明了该方程所有偶数解为n=24?330、n=26?312、n=8p7、n=16...

Global site tag (gtag.js) - Google Analytics