Cod sursa(job #507399)

Utilizator APOCALYPTODragos APOCALYPTO Data 5 decembrie 2010 22:13:18
Problema GFact Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.59 kb
using namespace std;
#include<iostream>
#include<fstream>
#define ll long long
ll P,Q;
ofstream fout("gfact.out");
ll fact(ll x)
{ll rez=1;
    for(ll i=1;i<=x;i++)
      rez*=i;

    return rez;
}

void cit()
{ll x;
    ifstream fin("gfact.in");
    fin>>P>>Q;
    fin.close();
    x=P;
    for(i=1;i<=Q-1;i++)
      P*=x;
}

int main()
{ll cnt,i;
    cit();



    for(cnt=1;cnt<=P;cnt*=2);

    for(i=cnt;cnt;cnt/=2)
    {
        if(i-cnt>0)
           if(fact(i-cnt)%P==0)
             i-=cnt;
    }

    fout<<i<<"\n";

    fout.close();
    return 0;
}