分解质因数

1. 定义

把一个合数分解成若干个质因数的乘积的形式,即求质因数的过程叫做分解质因数。如60=2×2×3×5

质因数也称为质因子或素因数。

性质1:质数分解的结果是唯一的。

2. 短除法

从最小的质数除起,一直除到结果为质数为止。分解质因数的算式叫短除法,和除法的性质相似。例如:

得到 360=2×2×2×3×3×5。

参考程序1:

输入100,输出2 2 5 5。

请思考:程序的第20句中为什么如果i是因子就一定是质因子。

短除法:

如果追求程序的简洁性,可以省略prime函数。

参考程序2

思考题:“参考程序2”的正确性。

**进一步思考:参考程序1和参考程序2的时间复杂度是多少?

筛选法:

前面的求质数筛选法中,可以求出2到N的每个数i的最小质因数P[i]。利用这个预处理,可以得到一种迭代的分解质因数方法:

问题:对A进行分解质因数。

已知A的最小质因数是P[A],令A’=A/P[A];

原问题可以转换为子问题:对A’进行分解质因数。

迭代处理,直到A’没有最小质因数。

参考程序3:(填空)

//筛选法分解质因数

#include <bits/stdc++.h>

using namespace std;

int N,A,P[1000001];

int main(){

cin >>N;

P[1]=1;

for (int i=2; i*i<=N; i++)

if (P[i]==0){ //质数

for (int j=i+i; j<=N; j+=i)//i是质数时,删除i的倍数

if (P[j]==0) P[j]=i;

}

for (A=N; P[A]>0; A=A/P[A] ) //A迭代变小

cout <<P[A]<<" ";

cout << A;

return 0;

}

对于求2到N的所有数分解质因数时,效率很高。

c++分解质因数详解相关推荐

  1. LU分解(是/否部分主元法)+ 施密特(Schmidt)QR分解 + 吉文斯(Givens)QR分解 + Household QR分解 代码详解,可直接运行版本复测试用例(java8版)

    1)2)LU分解(是/否部分主元法)+ 3)施密特(Schmidt)QR分解 + 4)吉文斯(Givens)QR分解 + 5)Household QR分解 代码详解 可直接运行版本复测试用例(java ...

  2. Sage X3 PJM结构分解示例详解

    在<详解项目管理中任务.成本.产品三者的关系>一文中,对项目管理从任务.成本.产品的角度结构进行了分解,重点阐述了三者的关系. 本文以一个塔式起重机为例,直观的展示三者的关系. 塔式起重机 ...

  3. Sage X3 PJM结构分解示例详解(项目管理)

    在<详解项目管理中任务.成本.产品三者的关系>一文中,对项目管理从任务.成本.产品的角度结构进行了分解,重点阐述了三者的关系. 本文以一个塔式起重机为例,直观的展示三者的关系. 塔式起重机 ...

  4. python将一个正整数分解质因数

    将一个正整数分解质因数 1. 解法一 2. 解法二 3. 解法三 4. 解法四 例如输入90,输出:90=2*3*3*5 对n进行分解质因数,应先找到一个最小的质数i,然后按下述步骤完成: (1)如果 ...

  5. 详解CPU漏洞对机器学习的影响:几乎所有卷积层都受影响,QR分解降速37%

     作者 | Mikel Bober-Irizar 翻译 | 刘畅 编辑 | Donna (备注:KPTI 在计算机中指 Kernel page-table isolation,是一种Linux内核 ...

  6. 什么是奇异值?奇异值分解是什么?SVD分解详解及实战

    什么是奇异值?奇异值分解是什么?SVD(Singular Value Decomposition)分解详解及实战 TSVD:Truncated Singular Value Decomposition ...

  7. Android高效率编码-第三方SDK详解系列(一)——百度地图,绘制,覆盖物,导航,定位,细腻分解!...

    Android高效率编码-第三方SDK详解系列(一)--百度地图,绘制,覆盖物,导航,定位,细腻分解! 这是一个系列,但是我也不确定具体会更新多少期,最近很忙,主要还是效率的问题,所以一些有效的东西还 ...

  8. 人工智能里的数学修炼 | 矩阵的花样分解:特征值分解(EVD)、相似对角化、QR分解、Schur分解、奇异值分解(SVD)的概念纠缠与详解

    前言 在高等代数里,矩阵分解是一个十分基础与重要的内容,任何一个学校对于理工科的研究生教育都会开设相应的课程,如:矩阵分析.矩阵论.线性系统等.看了不少社区的问答.笔记和博客,在它们的基础上加入一些自 ...

  9. Android高效率编码-第三方SDK详解系列(一)——百度地图,绘制,覆盖物,导航,定位,细腻分解!

    Android高效率编码-第三方SDK详解系列(一)--百度地图,绘制,覆盖物,导航,定位,细腻分解! 这是一个系列,但是我也不确定具体会更新多少期,最近很忙,主要还是效率的问题,所以一些有效的东西还 ...

最新文章

  1. 代码操作Oracle
  2. 神经学家探寻:机器如何拥有意识!如何避免机器人伤害我们!
  3. 常用元素位置与大小总结
  4. Spring boot整合dubbo
  5. BZOJ 3085: 反质数加强版SAPGAP (反素数搜索)
  6. boost::weak_ptr和enable_shared_from_this
  7. Windows下Nginx的启动、停止等基本命令
  8. Qt——P14 Lambda表达式
  9. 脉冲宽度调制pdm_两个相同Vpp驱动的 PAM4 MZ调制器
  10. MySQL必知必会(二)
  11. vue中echarts3d 使用(3d地图上有柱状图数据,吉林省)
  12. 树莓派-迅雷远程下载
  13. 使用python将视频按照帧转为图片
  14. iOS 基础入门--Bull' Eye 小游戏 
  15. FPGA作为电力电子设备控制器的实践
  16. 在大学生思想政治教育中融入传统礼仪2019管理学EI会议的实现路径
  17. Scientists say Australian plan to cull up to 10,000 wild horses doesn’t go far enough
  18. 使用 SAP UI5 Smart Chart 控件轻松绘制十数种不同类型的专业图表试读版
  19. 《途客圈创业记:不疯魔,不成活》一一2.11 途客圈旅行助手
  20. C#2.0 编写window服务

热门文章

  1. 请给openlab搭建web网站
  2. 龙南天气预报软件测试,龙南天气预报15天
  3. FTP 一些配置问题
  4. [论文笔记]弱监督条件下基于相似性条件学习的服饰搭配生成
  5. Graph Neural Networks (GNN)(三):Spectral-GNN 之 GCN
  6. upi-app运行到小程序报错
  7. 卡路里 - 健康隐患之如何避免久坐成疾
  8. 语音识别:理论与实践
  9. 曾经的中国之光「北大方正」破产了...
  10. @Patten注解正则表达式密码验证