Pagini recente » Cod sursa (job #47775) | Cod sursa (job #1422831) | Cod sursa (job #1996715) | Cod sursa (job #1383593) | Cod sursa (job #2315632)
#include <fstream>
using namespace std;
class InParser {
private:
static const int buffSZ = (1 << 15);
ifstream File;
int buffPos;
char buff[buffSZ];
void _advance() {
if (++buffPos == buffSZ) {
File.read(buff, buffSZ);
buffPos = 0;
}
}
public:
InParser(const char *FileName) {
File.open(FileName);
buffPos = buffSZ - 1;
}
InParser& operator >>(long long &no) {
while (!isdigit(buff[buffPos]))
_advance();
no = 0;
while (isdigit(buff[buffPos])) {
no = no * 10 + buff[buffPos] - '0';
_advance();
}
return *this;
}
};
InParser fin("dtcsu.in");
ofstream fout("dtcsu.out");
void Divide(long long &no, const int &Div) {
while (no % Div == 0)
no /= Div;
}
int main() {
long long Q = 276997;
for (; Q; --Q) {
long long no;
fin >> no;
}
int cnt = 0;
fin >> Q;
for (; Q; --Q) {
long long no;
fin >> no;
Divide(no, 2);
Divide(no, 3);
Divide(no, 5);
Divide(no, 7);
Divide(no, 11);
if (no == 1)
++cnt;
}
fout << cnt;
}