Cod sursa(job #3226544)

Utilizator Andrei_RusuAndrei Alexandru Rusu Andrei_Rusu Data 21 aprilie 2024 20:30:48
Problema Divizori Primi Scor 50
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.71 kb
#include <bits/stdc++.h>

using namespace std;
ifstream fin("divprim.in");
ofstream fout("divprim.out");
const int NMAX=1000000;
int c[NMAX+5];
void ciur()
{
    int i, j;
    for(i=2; i<=NMAX; i+=2)
    {
        c[i]++;
    }
    for(i=3; i*i<=NMAX; ++i)
    {
        if(c[i]==0)
        {
            for(j=i; j<=NMAX;j+=i)
                c[j]++;
        }
    }
}
int cautarek(int n, int k)
{
    int i;
    for(i=n; i>=1; --i)
    {
        if(c[i]==k)
            return i;
    }
    return 0;
}
int main()
{
    int t, n, k, i;
    fin >> t;
    ciur();
    for(i=1; i<=t; ++i)
    {
        fin >> n >> k;
        fout << cautarek(n,k) << "\n";
    }
    return 0;
}