求一个数的素因数
cnt=0; //素因子个数 for(int i=2;i*i<=n;i++)//这里是i²啊! { if(n%i==0) { ++cnt; p[cnt]=i;//p数组存素因子 num[cnt]=0;//num数组:每个素因子的指数,此处是初始化为0 while(n%i==0) { ++num[cnt]; n/=i; } } } if(n>1) { ++cnt; p[cnt]=n; num[cnt]=1; }