Cod sursa(job #1846651)

Utilizator ionutpop712Pop Ionut ionutpop712 Data 13 ianuarie 2017 20:34:28
Problema Ciurul lui Eratosthenes Scor 30
Compilator cpp Status done
Runda Arhiva educationala Marime 0.67 kb
#include <fstream>
#include <math.h>
using namespace std;
int v[1000000];
int verifprime(int r, int v[1000000], int nr)
    {
    if (v[nr]%2==0)
        return 0;
    for (int d=3;d<=r;d+=2)
        {
         if (v[nr]%d==0)
            return 0;
        }
     return 1;
    }
int main()
{
int n, i=0, s=4, r;
ifstream in("ciur.in");
ofstream out("ciur.out");
in >> n;
if (n>=11)
    {
for (int nr=11;nr<=n;nr+=2)
    {
     if (nr%3!=0 || nr%5!=0 || nr%7!=0)
        {
         ++i;
         v[i]=nr;
        }
    }
for (int nr=1;nr<=i;++nr)
    {
     r=sqrt(v[nr]);
     s+=verifprime(r, v, nr);
    }
    }
out << s;

    return 0;
}