Cod sursa(job #2328734)

Utilizator AndreiGSGhiurtu Andrei AndreiGS Data 26 ianuarie 2019 10:22:50
Problema Patrate2 Scor 30
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.66 kb
#include <fstream>

using namespace std;

ifstream f("patrate2.in");
ofstream g("patrate2.out");

const int MOD=1999999973;

long long int RidicareLogaritmica(long long int N, long long int P)
{
    long long int r=1;
    while(P)
    {
        if(P%2!=0)
            r=(1LL*r*N)%MOD;
        N=(1LL*N*N)%MOD;
        P=P/2;
    }
    return r;
}

long long int fact(long long int n)
{
    long long int factorial=1;
    for(int i=1; i<=n; i++)
        factorial=(factorial*i)%MOD;
    return factorial;
}

int main()
{
    long long int n;
    f>>n;
    g<<(fact(n)*RidicareLogaritmica(2, RidicareLogaritmica(n, 2)))%MOD;
    return 0;
}