Cod sursa(job #1067093)

Utilizator Robert29FMI Tilica Robert Robert29 Data 26 decembrie 2013 12:41:27
Problema Dtcsu Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.67 kb
#include<stdio.h>
#include<bitset>
#define nr 276997
#define mod 1000007
using namespace std;

bitset <1000010> viz;
int prim[5] = {2,3,5,7,11};
int main()
{
	FILE*f = fopen("dtcsu.in", "r");
	long long x;
	for (int i = 1; i <= nr; ++i)
	{
		fscanf(f, "%lld", &x);
		viz[x % mod] = true;
	}

	int q, sol=0;
	fscanf(f, "%d", &q);
	for (int o = 1; o <= q; ++o)
	{
		fscanf(f, "%lld", &x);
		if (viz[x%mod])
		{
			for (int d = 0; d < 5; ++d)
			{
				while (!(x % prim[d]))
				{
					x /= prim[d];
				}
			}
			if (x == 1)
				++sol;
		}
	}
	fclose(f);

	FILE*g = fopen("dtcsu.out", "w");
	fprintf(g, "%d", sol);
	fclose(g);

	return 0;
}