Pagini recente » Cod sursa (job #2976883) | Cod sursa (job #2457268) | Cod sursa (job #2208091) | Cod sursa (job #1655898) | Cod sursa (job #1035206)
#include <fstream>
#include <algorithm>
#include <string>
#include <bitset>
using namespace std;
#define Nmax 276997
#define Pmax 1000
using namespace std;
ifstream f("dtcsu.in");
ofstream g("dtcsu.out");
int Q,sol;
long long N,x,k,P[Pmax];
string tmp;
int Putere[]={0,0,62,39,0,28,0,23,0,0,0,19};
unsigned long long Pow[20][100];
bool V[Nmax];
void Ciur()
{
P[++k]=2;
int i,i2=0,j;
for (i = 3; i <= Pmax; i += 2)
{
if (V[i >> 4] & (1 << ((i >> 1) & 7))) continue;
P[++k]=i;
for (j = i + (i2 = i + i); j <= Pmax; j += i2)
V[j >> 4] |= 1 << ((j >> 1) & 7);
}
}
int main()
{
Ciur();
for(int i=1;i<=Nmax;++i)getline(f,tmp);
getline(f,tmp);
Q=0;
for(int i=0;i<tmp.size();++i)Q=Q*10+(tmp[i]-'0');
for(int i=1;i<=Q;++i)
{
getline(f,tmp);
long long N=0;
for(int i=0;i<tmp.size();++i)N=N*10+(tmp[i]-'0');
if(N)
{
bool ok=true;
for(int j=6;j<=k && ok;++j)
if(N % P[j]==0)ok=false;
if(ok)++sol;
}
}
g<<sol<<'\n';
f.close();g.close();
return 0;
}