Cod sursa(job #57239)
Utilizator | Florian Marcu Florian | Data | 1 mai 2007 15:35:44 |
---|---|---|---|
Problema | Divizori Primi | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.51 kb |
#include<stdio.h>
#include<math.h>
long v[100001];
int main()
{long n,i,j,t,x,p,k,r;
v[1]=0; v[2]=0; v[3]=0;
for(i=2;i<=sqrt(1000001);i++)
{
if (v[i]==0)
{
j=1;
while(i*j<=1000000)
{v[i*j]++;
j++;}
}
}
FILE*f=fopen("divprim.in","r");
FILE*g=fopen("divprim.out","w");
fscanf(f,"%ld",&t);
for(i=1;i<=t;i++)
{
fscanf(f,"%ld %ld",&n,&k);
for(j=n;j>=2;j--)
{
if (v[j]==k) {fprintf(g,"%ld\n",j);
break;}}
if (j<2) fprintf(g,"0\n");
}
fclose(f);
fclose(g);
return 0;}