Cod sursa(job #153344)

Utilizator alecmanAchim Ioan Alexandru alecman Data 10 martie 2008 14:16:43
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.68 kb
#include<stdio.h>
#include<string.h>

#define INPUT "ciur.in"
#define OUTPUT "ciur.out"
#define CL(x) memset(x,0,sizeof(x));

FILE *fin=fopen(INPUT, "r"),*fout=fopen(OUTPUT, "w");

char ciur[2000001];
int solutie[1001];

long n;

inline void readValues(){fscanf(fin, "%ld", &n);}

void solveFunction();

void printSolution();

int main(){
  readValues();
  solveFunction();
  fclose(fin);
  fclose(fout);
  return 0;
}

void solveFunction(){
  int lastPoz,nrTotal;
  lastPoz=0;
  CL(ciur);
  nrTotal=0;
  for(long i=2;i<=n;++i)
    if(!ciur[i]){
      ++nrTotal;
      for(long j=i+i;j<=n;j+=i)
        ciur[j]=1;
    }
  fprintf(fout, "%ld\n", nrTotal);
}