int p[100000],c[100000];
void divide(int n)
{
if(n==1)//处理特殊情况
{
p[++m]=1;
c[m]=1;
return;
}
for(int i=2;i<=sqrt(n);i++)
{
if(n%i==0)
{
p[++m]=i;
while(n%i==0)//i是个质数,因为它并不能由前面除过的i组成
{
n=n/i;//将他的i因子除完
c[m]++;
}
}
}
if(n>1)//sqrt(n)以内的还不能把他除完,那就只有个n了,并且他是个质数
{
p[++m]=n;
c[m]=1;
}
}
额(⊙﹏⊙) 貌似有些简单