分解质因数板子

对于每一个合数,一定可以拆成几个质数相乘。

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,所以单独处理一下

猜你喜欢

转载自blog.csdn.net/Bluelanzhan/article/details/82968722