素数,最近在想怎么判断一个数是不是素数,暂时想起来的算法是这样地:
bool isPrime(long a)
{//现在只处理比2大的,其他的再说吧!
for(int i=2;a=a/i;i++)
.............
}
也就是每循环一次,把a的值除以i。这是有其他合理性的。因为,如果a不能被i整除,那么,从a/i到a之间的数,也不能被a整除,即用a对他们进行求余也不会为0。OK!
又想起一点,就是当i>=2 时,只对奇数求模。!!!
素数,最近在想怎么判断一个数是不是素数,暂时想起来的算法是这样地:
bool isPrime(long a)
{//现在只处理比2大的,其他的再说吧!
for(int i=2;a=a/i;i++)
.............
}
也就是每循环一次,把a的值除以i。这是有其他合理性的。因为,如果a不能被i整除,那么,从a/i到a之间的数,也不能被a整除,即用a对他们进行求余也不会为0。OK!
又想起一点,就是当i>=2 时,只对奇数求模。!!!