Cod sursa(job #2249824)

Utilizator alex02Grigore Alexandru alex02 Data 30 septembrie 2018 11:18:10
Problema Divizori Primi Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.88 kb
#include <iostream>
#include <fstream>

using namespace std;

int nrdiv(int x)
{
    int nr=0;
    if(x%2==0)
    {
        while(x%2==0)
            x/=2;
        nr++;
    }
    for(int i=3;i<=x;i+=2)
    {
        if(x%i==0)
        {
            while(x%i==0)
                x/=i;
            nr++;
        }
    }
    return nr;
}

int main()
{
    ifstream f("divprim.in");
    ofstream g("divprim.out");
    int x,n,T,mare;
    f>>T;
    for(int i=0;i<T;i++)
    {
        f>>x;
        f>>n;
        {
            mare=-1;
            for(int j=x;j>=2;j--)
            {
                if(nrdiv(j)==n )
                {
                    mare=j;
                    break;
                }

            }
            if(mare==-1)
                g<<0<<"\n";
            else
            g<<mare<<"\n";
        }
    }
    return 0;
}