Cod sursa(job #1861147)
Utilizator | Data | 28 ianuarie 2017 17:10:28 | |
---|---|---|---|
Problema | Ciurul lui Eratosthenes | Scor | 30 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.51 kb |
#include <fstream>
#include <iostream>
using namespace std;
ifstream fin("ciur.in");
ofstream fout("ciur.out");
int n, i, j, nr;
int main() {
fin>>n;
int v[n+1];
for (i=2; i<=n; i++) v[i]=i;
for (i=2; i<=n; i++)
{
if (v[i]!=0 && i*i<=n)
{
for (j=i*2; j<=n; j+=i) v[j]=0;
//for (j=2; j<=n; j++) fout << v[j] << " ";
//fout << "\n";
nr++;
}
if (i*i>n && v[i]!=0) nr++;
}
fout << nr << "\n";
}