Pagini recente » Cod sursa (job #2055691) | Cod sursa (job #1746518) | Cod sursa (job #128759) | Cod sursa (job #3211254) | Cod sursa (job #1207723)
#include <iostream>
#include <stdio.h>
using namespace std;
int nmax=1000000;
int n,v[1000000]={},nr[100000][4];
int a[1000000]={},mx,m;
int caut (int s,int d,int x)
{
if(s>d)
return 0;
else
{
m =(s+d)/2;
if (x>=a[m]){
mx=m;
return caut(m+1,d,x);
}
if (x<a[m])
return caut(s,m-1,x);
else
return caut(m+1,d,x);
}
}
int main()
{
FILE * pFile;
pFile=fopen("divprim.in","r");
fscanf(pFile,"%d",&n);
for(int i=1;i<=n;i++)
{
fscanf(pFile,"%d",&nr[i][1]);
fscanf(pFile,"%d",&nr[i][2]);
}
for(int i=2;i<nmax;i++)
if(v[i]==0){
a[i]++;
for(int j=2*i;j<nmax;j+=i){
v[j]=1;
a[j]++;
}
}
int i;
int mn,k,man,j;
int nmx=10000;
/*for (i=1;i<=nmx;i++){
mn=a[i];
k=i;
for (j=i+1;j<=nmx;j++)
if (a[j]<mn){
mn=a[j];
k=j;
}
man=a[k];
a[k]=a[i];
a[i]=man;
}
*/
FILE * pF=fopen("divprim.out","w+");;
int c=0;
cout<<nr[1][2];
for(int j=1;j<=n;j++){
c=0;
for(int i=nr[j][1];i>=2;i--){
if(a[i]==nr[j][2]){
fprintf(pF,"%d \n",i);
c=1;
break;
}
}
if(c==0)
{
fprintf(pF,"%ld \n",0);
}
}
// g<<nrm<<"\n";
return 0;
}