Prime factor decomposition

分解质因(Prime factor decomposition)是指每个合数都可以写成几个质数相乘的形式,其中每个质数都是这个合数的因数,把一个合数用质因数相乘的形式表示出来。

如30=2×3×5 。分解质因数只针对合数。

中文名
分解质因数
释义
质因数的过程
外文名
Prime factor decomposition
又称
分解素因数

1定义

编辑

把一个合数分解成若干个质因数的乘积的形式,即求质因数的过程叫做分解质因数。

分解质因数只针对合数。(分解质因数也称分解素因数)求一个数分解质因数,要从最小的质数除起,一直除到结果为质数为止。分解质因数的算式叫短除法,和除法的性质差不多,还可以用来求多个个数的公因式。

2定理

编辑

不存在最大质数的证明:(使用反证法)

假设存在最大的质数为N,则所有的质数序列为:N1,N2,N3……N

设M=(N1×N2×N3×N4×……N)+1,

可以证明M不能被任何质数整除,得出M也是一个质数。

而M>N,与假设矛盾,故可证明不存在最大的质数。

 

上小学的时候,我们就知道所有的自然数可以分为质数(素数)和合数两类,当然还特别规定了“1 既不是质数,也不是合数”。100以内的质数,从小到大依次是:2、3、5、7、11、13、17、19、……、83、89、97。不用说了,你一定会背 下来。那么质数的个数是不是有限多的呢?   在解决这个问题之前,我们先来看看另一个问题:怎样判断一个已知自然数是不是质数。比如,143是不是质数?   你一定会按照下面这个步骤去判断: 先用最小的质数2去除143,不能整除;再用3去试试,还是不行;再依次用5、7试试,还是不行;11呢?行!143=11×13,所以143不是质数, 而是合数。所以,判断一个数是不是质数,只需用比这个数小的所有质数,依次去除它即可,如果都不能整除的话,这个数就一定是质数;相反,只要这个数能够被 某一个质数整除,这个数就一定是合数。这种方法所依据的原理是:每一个合数都可以表示成若干个质数的乘积。不用说,这叫做“分解质因数”,也是小学数学的 知识。   我们先假设质数的个数是有限多的,那么必然存在一个“最大的质数”,设这个“最大的质数”为N。下面我们找出从1到N之间的所有质数,把它们连乘起来,就是:   2×3×5×7×11×13×……×N   把这个连乘积再加上1,得到一个相当大的数M:   M=2×3×5×7×11×13×……×N+1   那么这个M是质数还是合数呢? 乍一想,不难判断,既然N是最大的质数,而且M>N,那么M就应该是合数。既然M是合数,就可以对M分解质因数。可是试一下就会发现,我们用从1到N之间的任何一个质数去除M,总是余1!这个现实,又表明M一定是质数。   这个自相矛盾的结果,无非说明: 最大的质数是不存在的!如果有一个足够大的质数N,一定可以像上面那样,找到一个比N更大的质数M。既然不存在最大的质数,就可以推知自然数中的质数应该有无限多个。

 

连续整数是没有公约数

 

第二种因数分解的方法:

1975年,John M. Pollard提出。该算法时间复杂度为O()。详见参考资料[1]

posted @   zJanly  阅读(621)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
点击右上角即可分享
微信分享提示