Cod sursa(job #57237)
| Utilizator | Data | 1 mai 2007 15:33:23 | |
|---|---|---|---|
| Problema | Divizori Primi | Scor | 5 |
| 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<=1000)
{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==1) fprintf(g,"0\n");
}
fclose(f);
fclose(g);
return 0;}
