素因数分解120 = 2の3乗* 3の累乗* 5の累乗

void get_primes(int n)
{
for(int i = 2; i <= sqrt(n); i ++)
{

	       if(n%i==0)//如果可以整除
	    {
	        prime[++m]=i;//就加入
	          c[m]=0;//初始化一下
	      while(n%i==0) n/=i,c[m]++;//循环一下,n能除以多少个i
	     }
	} 
    if(n>1)//到最后的时候 再加进去一个
    prime[m++]=n,c[m]=1;
    for(int i=1;i<=m;i++)//输出
     printf("%d %d\n",prime[i],c[i]);

おすすめ

転載: www.cnblogs.com/arbor-one/p/12752587.html