求素数
如何简单编程列出1-n之间所有素数?
代码如下,输出格式可能不太美观,你可以自己改改。望采纳
#include <stdio.h>
bool IsPrime(int );
int main()
{
int N;
int sum = 0;
scanf("%d",&N);
for (int n = 0; n <= N; n++)
if (IsPrime(n))
printf("%3d",n);
return 0;
}
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;
if (n % i == 0) return false;
}
return true;
}举报