Cod sursa(job #2662135)

Utilizator Matei2004Tanasa Matei Matei2004 Data 23 octombrie 2020 16:14:49
Problema Ciurul lui Eratosthenes Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.78 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("ciur.in");
ofstream g("ciur.out");
const int N=2000010;
bitset<N> p;
int n, cnt{}; //o structura de date foarte puternic comprimata ce primeste numai valori 0 si 1
//bool isPrime(int p){
//    if(p<2) return false;
//    if(p<4) return true;
//    if(p%2==0)return false;
//    for(int d=3; d*d<=p; d+=2){
//        if(p%d==0)
//            return false;
//    }
//    return true;
//}
//int n, cnt;
//int main()
//{
//    f>>n;
//    for(int i=1; i<=n; i++ ){
//        cnt+=isPrime(i);
//    }
//    g<<<cnt;
//	return 0;
//}

int main(){
    f>>n;
   for(int i=2; i<=n; i++ ){
       if(p[i]==0){
           cnt++;
           for(int j=2*i; j<=n; j+=i)
               p[j]=1;
       }
       g<<cnt;
  }
  g<<<cnt;
	return 0;
}