Pagini recente » Cod sursa (job #1017720) | Cod sursa (job #1645789) | Cod sursa (job #1926329) | Cod sursa (job #1870026) | Cod sursa (job #121294)
Cod sursa(job #121294)
#include <stdio.h>
char a[10001];
int m[10000][10000];
void ciur()
{ long long i,j;
for (i=2;i<=10000;i++)
if (a[i]==0)
{
j=2;
while(i*j<=10000)
{
a[i*j]++;
j++;
}
}
j=1;
for (i=2;i<=10000;i++)
{
m[a[i]][j]=i;
j++;
}
}
int main()
{ long long n,i,x,j,y,m,ok=1,st,dr;
FILE*f=fopen("divprim.in","r");
FILE*g=fopen("divprim.out","w");
ciur();
fscanf(f,"%lld",&n);
for (i=1;i<=n;i++)
{
fscanf(f,"%lld",&x);
fscanf(f,"%lld",&y);
st=m[y][1];
dr=m[y][j];
while (st<=dr)
{
m=(st+dr)/2;
if (m==x){ fprintf(g,"%lld",m); ok=0 ;break;}
else if(m>x) dr=m-1;
else if(m<x) st=m+1;
}
if (ok==1) fprintf(g,"0");
}
return 0;
}