作业帮 > 综合 > 作业

任意给你一个数n,如何将这个数分解为若干个素数的乘积?

来源:学生作业帮 编辑:搜狗做题网作业帮 分类:综合作业 时间:2024/07/08 15:23:50
任意给你一个数n,如何将这个数分解为若干个素数的乘积?
任意给你一个数n,如何将这个数分解为若干个素数的乘积?
数字为num
int Prime[]=2,3,5.(省略,记录到你觉得足够)
const unsigned long SIZE = XXXXX ;(上面有多少个数字,你就写多少)
int getnum[100];
bool k = false ;//记录是否完成
int i,j=0;
while(!k)
{
for(i=0;ii,说明你的素数范围不够大)
{//num是素数了
getnum[j]=num;
k= true ;
break ;
}
if(0==num%i)
{getnum[j]=i ;
j++;
num = num/i;
}
}
没用工具写的,难保不出错,不过思想就是不停地循环从头开始找素数因子.个人的想法,如果有更好的想法可以说.
(如果是大素数,这个方法不行,如果是大素数的话,你再联系我就好)