Cod sursa(job #1455343)
| Utilizator | Data | 27 iunie 2015 17:50:41 | |
|---|---|---|---|
| Problema | Combinari | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.66 kb |
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin ("ciur.in") ;
ofstream fout ("ciur.out") ;
int n ;
unsigned char a[2000001] ;
void Citire()
{
fin >> n;
}
int nr = 1 ; // 2 e par
void CiurEratostene (int n)
{
int i , j , i2 ;
for ( i = 3 ; i <= n ; i += 2 )
a[i] = 1;
for( i = 3 ; i <= n ; i += 2 )
if ( a[i] == 1 )
{
++ nr ;
for ( j = ( i2 = i + i ) + i ; j <= n ; j += i2 )
a[j] = 0;
}
fout << nr ;
}
int main()
{
Citire();
CiurEratostene ( n );
return 0;
}
