Cod sursa(job #1730333)

Utilizator Alexandru_Arama Alexandru Alexandru_ Data 16 iulie 2016 20:00:30
Problema GFact Scor 75
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.85 kb
#include <iostream>
#include <fstream>

using namespace std;

long long p,q,v1[10001],k,k1,v2[10001],ok;
int desc (long long x)
{
    long long i=0,d=2;
    while(x>1)
    {
        if(!(x%d))
        {
            int p=0;
            while(x%d==0)x/=d,p++;
            v1[++k1]=d;
            v2[k1]=p*q;
        }
        if(d*d>=x && x>1)
            d=x;
        else d++;
    }
}
int elim (long long x)
{
    long long i,ok1=0;
    for(i=1;i<=k1;i++)
    {if(x%v1[i]==0 && v2[i])
    {
        while(x%v1[i]==0 && v2[i])v2[i]--,x/=v1[i];
    }
    if(!v2[i])ok1++;
    }
    ok=(ok1==k1);
}
int main()
{
    ifstream fin ("gfact.in");
    ofstream fout ("gfact.out");
    fin>>p>>q;
    desc(p);
    long long i=0;
    for(i=2;!ok;i++)
    {
        elim(i);
        if(ok)break;
    }
    fout<<i;
    return 0;
}