Pagini recente » Cod sursa (job #2722677) | Cod sursa (job #2099038) | Cod sursa (job #733834) | Cod sursa (job #3285959) | Cod sursa (job #3286195)
#include <fstream>
#include <vector>
#include <bitset>
using namespace std;
const int VMAX = 1e6;
const int NDP = 1;
bitset <VMAX + 1> in_M;
int nr_mult[VMAX+1];
int div_primi[VMAX+1][NDP+1];
void ciur()
{
for (int i = 2; i <= VMAX; i++)
{
for (int mult = i; mult <= VMAX; mult += i)
{
if (in_M[mult])
{
nr_mult[i]++;
}
}
if (div_primi[i][0] == 0)///i este prim
{
for (int mult = i; mult <= VMAX; mult += i)
{
++div_primi[mult][0];
//div_primi[mult][div_primi[mult][0]] = i;
}
}
}
}
int main()
{
ifstream in("pairs.in");
ofstream out("pairs.out");
int n;
in >> n;
for (int i = 0; i < n; i++)
{
int aux;
in >> aux;
in_M[aux] = 1;
}
ciur();
/*
for (int i = 2; i <= 15; i++)
{
out << i << " are " << nr_mult[i] << "\n";
}
for (int i = 2; i <= 15; i++)
{
out << i << ": ";
for (int j = 1; j <= div_primi[i][0]; j++)
{
out << div_primi[i][j] << " ";
}
out << "\n";
}
*/
in.close();
out.close();
return 0;
}