A program kiírja az 500-nál kisebb prímszámokat. Az alapötlet a következő: Felírjuk sorba a számokat. Az 1-t külön tárgyaljuk. A 2-től kezdve minden második számot kihúzzuk. 3-tól kezdve minden harmadik számot kihúzzuk és így tovább, mindig megkeressük a következő bennmaradt számot, és ezzel szorzunk.

 

 

#include <stdio.h>

#include <stdlib.h>

 

int main(){

  int szamok[1000],i,j;

  for(i=0;i<1000;i++){

    szamok[i]=1;

  }

  for(i=2;i<500;i++){

    if(szamok[i]==1){

      for(j=2;i*j<1000;j++){

            szamok[i*j]=0;

      }

    }

  }

  j=0;

  for(i=0;i<500;i++){

    if(szamok[i]==1){

      printf("%d\t",i);

      j++;

      if(j%10==0)

            printf("\n");

    }

  }

  printf("\n");

  system("PAUSE");

  return 0;

}