常规法:
#include<stdio.h>
#include<math.h>
int main()
{
int i,j,k,n=0;
for(i=2;i<=100;i++)
{
k=(int)sqrt(i);
for(j=2;j<=k;j++)
if(i%j==0) break;
if(j>k)
{
printf("%d ",i);
n++;
if(n%5==0)
printf("\n");
}
}
return 0;
}
筛选法:
#include <stdio.h>
#include <math.h>
#include <stdbool.h>
#include <stdlib.h>
#include <sys/time.h>
//素数判定 筛选法
int main(){
int num = 100;
int i, j;
//scanf("%d", &num);
//getchar();
bool *b;
b=(bool *)calloc(num + 1, sizeof(bool));
b[0] = false;
for(i = 1; i <= num; i++){
if(i % 2 == 0){
b[i] = false;
}else{
b[i] = true;