素数 和 算法的问题,
程序代码:#include<stdio.h>
bool IsPrime(int m) /*用于判断m是否是素数*/
{
int i;
for(i=2; i<m; i++)
{
if(0 == m%i)
{
return false;
break;
}
if (i == m)
return true;
}
}
int main(void)
{
int k, i, j;
scanf("%d",&k);
//求这个数的素数的积 例如:12=2*2*3 15=3*5
if (IsPrime(k))
printf("这个是素数\n");
else
{
printf("这个%d有素数之积是:", k);
for (j=0; j<k; ++j)
{
for (i=2; i<=k;++i)
{
if ( IsPrime(i) )
{
if ( 0== k%i)
{
k/=i;
printf("%d",i);
printf("*");
}
}
}
}
}
return 0;
} 昨天,论坛看到 一个素数如何实现将任意一个整数分解为素数之积
最近学算术基本定理,想用C程序实现它,即输入任意正整数(>1),将该整数分解为素数之积,例如10=2*5,12=2*2*3,18=2*3*3,按类似格式输出结果。。想了很久没能做到完全分解,希望高手能给予指导,一起讨论,
写不太好,别人一会就写出来 ,我用一天 才写出,算法,用的代码太多,要减,怎 么一个减法,








