Cod sursa(job #1881582)
| Utilizator | Data | 16 februarie 2017 16:38:56 | |
|---|---|---|---|
| Problema | Divizori Primi | Scor | 55 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.62 kb |
#include <fstream>
using namespace std;
ifstream fin("divprim.in");
ofstream fout("divprim.out");
int a[1000003];
int main()
{ int n[100003],k[100003],i,t,max=0,j,ok;
fin>>t;
for(i=1;i<=t;i++)
{fin>>n[i]>>k[i];
if(n[i]>max)
max=n[i];
}
for(i=2;i<=max;i++)
{if(a[i]==0)
{a[i]=1;
for(j=2*i;j<=max;j=j+i)
a[j]++;
}
}
for(i=1;i<=t;i++)
{ok=0;
for(j=n[i];j>=1;j--)
if(a[j]==k[i])
{fout<<j<<'\n';
ok=1;
break;
}
if(ok==0)
fout<<0<<'\n';}
fin.close();
fout.close();
return 0;
}
