博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
分解质因数与约数和
阅读量:5098 次
发布时间:2019-06-13

本文共 753 字,大约阅读时间需要 2 分钟。

1.有多少个约数:  

先分解质因数 因数的次数分别是4,2,1 所以约数的个数为(4+1) *(2+1) *(1+1)=5*3*2=30 个   eg: 先分解质因数 720=2^4*3^2*5 因数的次数分别是4,2,1 所以约数的个数为(4+1)*(2+1)*(1+1)=5*3*2=30 个

 2.所有约数之和:

 2004 的约数之和为:1, 2, 3, 4, 6, 12, 167, 334, 501, 668, 1002 ,2004 = 4704

如何求一个数所有约数之和呢?

 首先,应用算术基本定理,化简为素数方幂的乘积。

X = a1^k1 * a2^k2........an^kn X 的所有素数之和可用公式

(1+a1 + a1^2...a1^k1) * (1+a2 + a2^2...a2^k2) * .....(1+an + an^2...an^kn)表示

如: 2004 = 2^2 * 3 *167  2004

所有因子之和为(1 + 2 + 2^2) * (1 + 3) * (1 + 167) = 4704;

程序实现的时候,可利用等比数列快速求1 + a1 + a1^2 + .....a1^n;

3.分解质因数 我用的算法是这个:

程序分析:对n 进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:

(1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。

(2)如果n > k,但n 能被k 整除,则应打印出k 的值,并用n 除以k 的商,作为新的正整数你 n, 重复执行第一步。

(3)如果n 不能被k 整除,则用k+1 作为k 的值,重复执行第一步。

 

转载于:https://www.cnblogs.com/Skyxj/p/3439281.html

你可能感兴趣的文章
css坑了我一下下之line-height
查看>>
ubuntu 16.04 u盘挂载以及卸载
查看>>
python 集合并集
查看>>
CSS样式书写顺序
查看>>
java解决跨域
查看>>
css scroll bug
查看>>
[编织消息框架][JAVA核心技术]动态代理应用8-IRpcReceive实现
查看>>
由一个经典布局问题引发的思考
查看>>
vue 字符串长度控制显示的字数超出显示省略号
查看>>
vim常用命令
查看>>
tensorboard 远程
查看>>
mysql常用操作(测试必备)
查看>>
修改tcp内核参数:somaxconn
查看>>
欧几里德算法(模板)
查看>>
oracle 11g 压缩数据文件
查看>>
opencv2411配置
查看>>
【洛谷P1061 Jam的计数法】搜索
查看>>
Android studio 安装apk时报错:INSTALL_FAILED_NO_MATCHING_ABIS: Failed to extract native libraries...
查看>>
20. 多态
查看>>
pip国内源
查看>>