Cod sursa(job #2728388)
| Utilizator | Data | 23 martie 2021 10:41:49 | |
|---|---|---|---|
| Problema | Ciurul lui Eratosthenes | Scor | 70 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.72 kb |
#include <iostream>
#include <fstream>
using namespace std;
int Eratosthenes(int n) {
int i, j, arr[n+1], size = n - 1;
for(i = 2; i < n + 1; i++) arr[i] = 1;
i = 2;
while(i * i <= n) {
if( arr[ i ] == 1 ) {
j = 2;
while( i * j <= n ) {
int multiply = i * j;
if(arr[ multiply ] == 1) size--;
arr[ multiply ] = 0;
j++;
}
}
i++;
}
return size;
}
int main() {
int N;
ifstream fin("ciur.in");
ofstream fout("ciur.out");
fin>>N;
fout<<Eratosthenes(N);
}
