Cod sursa(job #1907274)
| Utilizator | Data | 6 martie 2017 18:35:06 | |
|---|---|---|---|
| Problema | Divizori Primi | Scor | 55 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.55 kb |
#include <cstdio>
#include <bitset>
using namespace std;
char v[1000005];
int main()
{
freopen("divprim.in","r",stdin);
freopen("divprim.out","w",stdout);
int t , n , k , i, j;
for(i=2;i<=1000000;i+=2)v[i]=1;
for(i=3;i<=1000000;i+=2)
if(!v[i])
for(j=i;j<=1000000;j+=i)v[j]++;
scanf("%d",&t);
for(i=1;i<=t;i++)
{
scanf("%d%d",&n,&k);
for(j=n;j>0;j--)
if(v[j]==k)
{printf("%d\n",j);
break;}
if(j==0)printf("0\n");
}
return 0;
}
