Pagini recente » Cod sursa (job #1772784) | Cod sursa (job #1906876) | Cod sursa (job #1281453) | Cod sursa (job #2517664) | Cod sursa (job #1035931)
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
#define MOD 1000007
typedef long long ll;
typedef vector<long long>::iterator iter;
// <parsing>
FILE *fin = fopen("dtcsu.in", "r");
unsigned const maxb = 8192;
char buf[maxb];
int ptr = maxb;
inline ll getLl() {
while (buf[ptr] < '0' || '9' < buf[ptr]) {
if (++ptr >= maxb) {
fread(buf, maxb, 1, fin);
ptr = 0;
}
}
ll nr = 0;
while ('0' <= buf[ptr] && buf[ptr] <= '9') {
nr = nr * 10 + buf[ptr] - '0';
if (++ptr >= maxb) {
fread(buf, maxb, 1, fin);
ptr = 0;
}
}
return nr;
}
// </parsing>
ofstream g("dtcsu.out");
ll q;
int getNext(int nr) {
switch (nr) {
case 2:
return 3;
case 3:
return 5;
case 5:
return 7;
case 7:
return 11;
case 11:
return 0;
}
}
int main() {
for (int i = 0; i < 276997; i++) {
ll nr = getLl();
}
ll sol = 0;
q = getLl();
for (ll i = 1; i <= q; i++) {
ll nr = getLl();
int p = 2;
while (p != 0) {
while (nr % p == 0) {
nr /= p;
}
p = getNext(p);
}
if (nr == 1) {
sol++;
}
}
g << sol;
g.close();
return 0;
}