对于每一个合数,一定可以拆成几个质数相乘。
void divide(int ww)
{
int x = ww;
for(int i = 2; i * i <= ww; i++)
{
if(x % i == 0) mod[++cnt] = i;
while(x % i == 0)
{
x /= i;
}
}
if(x > 1) mod[++cnt] = x;
}
if(x > 1) mod[++cnt] = x;
对于10来说 10 = 2 * 5;
因为 i 最多For到3(3*3 <10 ,4*4 >10)
所以不会有5,所以单独处理一下