【c语言】--分解质因数【完整版详细】

1、质因数是什么?

首先,我们所说的质数就是素数,两种叫法都可以!
如果一个数的因数是质数,那么这个因数就是他的质因数。
比如:
5的因数:1、5 因数5就是5的质因数。
28的因数:4、7 因数7就是28的质因数。

2、什么是分解质因数?

把一个合数用质数相乘的形式表示出来,叫作分解质因数。他强调的是分解的过程
1、合数可以分解质因数,质数不能分解质因数,因为质数只能等于1*本身这种形式,而1不是质数。
2、分解质因数不是一个具体的数,而是把一个合数分解为成几个质数相乘的过程

3、怎么分解质因数?

不妨我们先引入一道编程题

题目:输入你要分解质因数的数的范围,输出每个数分解质因数的因数
输入样例 :
3 10
输出样例:
3=3
4=2 * 2
5=5
6=2 * 3
7=7
8=2 * 2 * 2
9=3 * 3
10=2 * 5

分解质因数的过程

1、我们先以8为例

我们先以最小的质数2开始试
8/2=4此时是不是还能除以2,那么再4/2=2 此时最后2为质数了,这就成为了终止条件,所以8 = 2 * 2 * 2
2、我们再以9为例

还是从2开始试
9/2 无法整除,那么2加1=3,判断3为素数,所以有可能是9的质因数,9/3=3,此时3为质数了,这成为了终止条件所以9 = 3 * 3
2、我们再以10为例

还是从2开始试
10/2=5,5直接为质数,直接达到终止条件,所以10 = 2 * 5
总结:
从2开始作为因子,能整除就一直除,直到最后的结果为质数再终止,那么结果就等于{你要分解的数=之前被除的因子*最后的终止条件(质数)
如果2不能整除了,就往上+1,然后还要判断被+1的数是否为质数,只有他是质数才有作为质因子的必要!然后再让你要分解的数除以这个因子,看是否能整除,不能整除就+1

最后代码如下,详细讲解均在代码块里面!按理来说,质数的分解不算分解质因数过程,但下列代码包括质数的分解,不要产生误解!

评论 17
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值