1.素数就是一个大于1的自然数,除了1和它本身外,不能被其他自然数整除
#include
bool IsPrime(int n)
{
if (n <= 1) return false;
if (n % 2 == 0) return n == 2;
for (int i = 3; ; i += 2)
{
if (i > n/i) break; // 等价于 i*i > n, 不用开方
if (n % i == 0) return false;
}
return true;
}
int main()
{
for (int n = 0; n <= 100; n++)
if (IsPrime(n))
printf("%3d", n);
return 0;
}