Cod sursa(job #1049180)
Utilizator | Ouatu Bogdan-Ioan BogdanOuatu | Data | 6 decembrie 2013 23:45:29 |
---|---|---|---|
Problema | Divizori Primi | Scor | 20 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.56 kb |
#include <fstream>
#include <iostream>
using namespace std;
int p[100003];
int main()
{
int t,k,n,i,j;
for(i=2;i<=100000;i+=2)
p[i]++;
for(i=3;i<=100000;i+=2)
{
if(p[i]==0)
for(j=i;j<=100000;j+=i)
p[j]++;
}
ifstream fin("divprim.in");
ofstream fout("divprim.out");
fin>>t;
for(i=1;i<=t;i++)
{
fin>>n>>k;
while(p[n]!=k&&n>0)
n--;
fout<<n<<"\n";
}
fin.close();
fout.close();
return 0;
}