Cod sursa(job #2463326)

Utilizator ContNou1Cont nou 1 ContNou1 Data 28 septembrie 2019 11:26:38
Problema Divizori Primi Scor 5
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.08 kb
/// Balint Robert
/// C.N.I. Grigore Moisil
/// a X-a
/// [email protected]
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin ("divprim.in");
ofstream fout("divprim.out");
int c[1000001];
void ciur()
{
    int n=1000000;
    for(int i=2; i<=n; i++)
    {
        if(c[i]==0)
        {
            for(int j=i+i; j<=n; j+=i)
            {
                c[j]=1;
            }
        }
    }
    c[1]=1;
    c[0]=1;
}
int main()
{
    int a[100001], b[100001], t;
    fin >> t;
    for(int i=1; i<=t; i++)
    {
        fin >> a[i] >> b[i];
    }
    ciur();
    for(int i=1; i<=t; i++)
    {
        int ok=0;
        for(int x=a[i]; x>=2; x--)
        {
            int nr=0;
            for(int z=x; z>=2; z--)
            {
                if(c[z]==0 && x%z==0)
                    nr++;
            }
            if(nr==b[i])
            {
                fout << x << "\n";
                ok=1;
                break;
            }
        }
        if(ok==0)
            fout << 0 << "\n";
    }
    return 0;
}