Cod sursa(job #3160736)

Utilizator YuzukyIstrate Andreea Ruxandra Yuzuky Data 24 octombrie 2023 23:40:10
Problema Divizori Primi Scor 35
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.74 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream in("divprim.in");
ofstream out("divprim.out");
int nrdiv (int n)
{
    int d, p, cnt=0;
    for(d=2; d*d<=n; ++d)
    {
        p=0;
        while(n%d==0)
        {
            p++;
            n/=d;
        }
        if(p>0)
            cnt++;
    }
    if(n>1)
    cnt++;
    return cnt;
}

int gasit (int n, int k)
{
    int nr=n-1;
    while( nrdiv(nr)!=k && nr>1 )
    {
        nr--;
    }
    if(nr==1)
        return 0; //nu exista
    return nr;
}
int main()
{
    int t, n, k;
    in>>t;
    for(int i=1; i<=t; ++i)
    {
        in>>n>>k;
        out<<gasit(n,k)<<'\n';
     //  cout<<n<<" "<<nrdiv(n)<<'\n';
    }
    return 0;
}