Pagini recente » Cod sursa (job #603723) | Cod sursa (job #2165310) | Cod sursa (job #2226471) | Cod sursa (job #1932481) | Cod sursa (job #1141861)
#include <fstream>
#define maxim 1000000
using namespace std;
ifstream f("divprim.in");
ofstream g("divprim.out");
int nr,nrr,i,j,n,nrd,x[maxim/10],y[maxim/10],nrmax;
int v[maxim+1],div[maxim/10];
int a[10][maxim];
int main()
{
f>>n;
for (i=1;i<=n;i++)
{
f>>x[i]>>y[i];
if (x[i]>nrmax)
nrmax=x[i];
}
f.close();
for (i=2;i*i<=maxim;i++)
for (j=i*i;j<=maxim;j+=i)
v[j]=1;
for (i=2;i<=maxim;i++)
if (!v[i])
div[++nr]=i;
for (i=1;i<=nrmax;i++)
{
nrr=0;
for (j=1;div[j]<=i;j++ && j<=nr)
if (i%div[j]==0)
nrr++;
for (j=1;j<=7;j++)
a[j][i]=a[j][i-1];
if (nrr<=7)
a[nrr][i]=i;
}
ifstream f("divprim.in");
f>>n;
for (i=1;i<=n;i++)
{
f>>nr>>nrd;
g<<a[nrd][nr]<<'\n';
}
f.close();
g.close();
}