求一个整数的所有质因子,有很多方法,其实我们可以先筛去所有素数的偶数倍数,然后用素数整除所求的整数,最后得到的所有质数即为我们要求的整数质因子。如何用C++实现这一算法呢?小编与大家分享操作经验。
工具/原料
C++
方法/步骤
1
首先,定义一个整型常量,控制数组的元素个数。
2
定义5个整型变量,实现程序的运算。
3
接着,定义两个整型数组变量,保存是否素数的判断,以及是否整数的质因子。
4
给数组judge初始化,初始值为0。
5
输入一个整数,保存在变量n中。
6
用for循环,控制整数所有质因子的获取。
7
如果数i为质数,则执行下面的语句。
8
当i是整数n的质因子时,将整数i保存在数组prime中。
9
当i能整除m时,m的值变为m除i的值。
10
当整数i为素数时,从数组中筛去所有素数的倍数,将素数标志为1。
11
如果最后运算得到的m值大于1,则它是整数n的最后一个质因子,保存到数组prime中。
13
运行程序,输入任意一个整数,电脑就会计算出它的所有质因子。
注意事项
作者声明:本篇经验系本人辛勤劳动的原创成果,未经许可,谢绝转载。