Pagini recente » Cod sursa (job #34329) | Cod sursa (job #57917) | Cod sursa (job #251227) | Cod sursa (job #48989) | Cod sursa (job #1746981)
#include <cstdio>
using namespace std;
FILE *f = fopen( "dtcsu.in", "r" );
FILE *g = fopen( "dtcsu.out", "w" );
const int MAXR = 1000;
using LL = long long;
char r[MAXR];
int nr = MAXR - 1;
LL x;
LL Q;
LL rez;
void Get( LL& x );
void Next();
int main()
{
int i, j;
for ( i = 1; i <= 276997; i++ )
Get(x);
Get(Q);
for ( i = 1; i <= Q; i++ )
{
Get(x);
while ( x % 2 == 0 ) x /= 2;
while ( x % 3 == 0 ) x /= 3;
while ( x % 5 == 0 ) x /= 5;
while ( x % 7 == 0 ) x /= 7;
while ( x % 11 == 0 ) x /= 11;
if ( x == 1 )
rez++;
}
fprintf( g, "%lld\n", rez );
fclose(f);
fclose(g);
return 0;
}
void Get( LL& x )
{
for ( ; r[nr] < '0' || r[nr] > '9'; Next() );
for ( x = 0; r[nr] >= '0' && r[nr] <= '9'; Next() )
x = ( x * 10LL ) + ( 1LL*( r[nr] - '0' ) );
}
void Next()
{
if ( ++nr == MAXR )
{
std::fread( r, 1, MAXR, f );
nr = 0;
}
}