Cod sursa(job #201948)

Utilizator 7RaduRadu Antohi 7Radu Data 5 august 2008 10:19:59
Problema Ciurul lui Eratosthenes Scor 30
Compilator cpp Status done
Runda Arhiva educationala Marime 0.75 kb
#include <iostream>
#include <fstream>
// Ciurul lui Erastotenes

using namespace std;

int main()
{
int n;
    
    ifstream f ("ciur.in");
    f>>n;
    f.close();
    
char b[1000050];
int i,j;

     for (i=1;i<=n;i++)
         b[i] = '1'; 
         
     i=1;    
     while (i <= n/2)    
        {
           j=1;   
           while (j <= n/i)
           {
               b[(2*i+1)*(2*j+1)] = '0';
               j++;
               }
            i++;   
           }
      b[1] = 0;
      
long cont=1;      
       for (i=1;i<=n/2;i++)
           if ((b[2*i+1] == '1') && (2*i+1<=n))
              cont+=1;

      ofstream g ("ciur.out");
      g<<cont<<"\n";
      g.close(); 
      
      return 0;
      
      }