//下面是筛选法
#include
int main()
{
int arr[101];
int mark[101];
int i, j, t;
for (i = 2; i < 101; i++)
{
arr[i] = i;
mark[i] = 1;
}
for (i = 2; i < 101;)
{
for (j = i + 1, t = arr[i]; j < 101; j++)
if (arr[j]%t == 0)
mark[j] = 0;
while ( ++i < 101 && mark[i] == 0);
}
for (i = 2; i < 101; i++)
if (mark[i])
printf("%d\t", arr[i]);
return 0;
}
是不是必须用数组啊?
#include"stdio.h"
#include"math.h"
void main()
{int i,k,t;
for(m=1;m<=100;m=m+2)
{ k=sqrt(m);
for(i=2;i<=k;i++)
if(m%i==0)break;
if(i>k)
{ printf("%5d",m);count++;if(count%10==0)printf("\n");}
}
getchar();
}