Cod sursa(job #1593090)
Utilizator | Data | 8 februarie 2016 11:57:04 | |
---|---|---|---|
Problema | Ciurul lui Eratosthenes | Scor | 60 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.41 kb |
#include <fstream>
#include <stdlib.h>
using namespace std;
ifstream in("ciur.in");
ofstream out("ciur.out");
int n,k=0;
bool *a;
void read(){
in>>n;
a = (bool*)(calloc(n+1,sizeof(bool)));
}
void ciur(){
for(int i=2;i<=n;i++){
if(a[i]==false){
k++;
}
a[i]=true;
for(int j=i+i;j<=n;j+=i){
a[j]=true;
}
}
}
int main(){
read();
ciur();
out<<k;
free(a);
return 0;
}