Cod sursa(job #2999395)
| Utilizator | Data | 10 martie 2023 22:34:52 | |
|---|---|---|---|
| Problema | Ciurul lui Eratosthenes | Scor | 0 |
| Compilator | c-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.66 kb |
#include <iostream>
#include <fstream>
using namespace std;
typedef unsigned long ulong;
int Eratosthenes(ulong n) {
ulong i, j, size = n - 1;
bool arr[n+1];
for(i = 2; i < n + 1; i++) arr[i] = true;
i = 2;
while(i * i <= n) {
if( arr[ i ] == true ) {
j = 2;
while( i * j <= n ) {
int multiply = i * j;
if(arr[ multiply ] == 1) size--;
arr[ multiply ] = false;
j++;
}
}
i++;
}
return size;
}
int main() {
ulong N;
ifstream fin("ciur.in");
ofstream fout("ciur.out");
fin>>N;
fout<<Eratosthenes(N);
}
