Cod sursa(job #1625766)

Utilizator andi12Draghici Andrei andi12 Data 2 martie 2016 20:31:08
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.59 kb
#include <cstdio>

using namespace std;
const int MOD=1999999973;
long long ct,ras;
long long fc(long long a,long long n)
{
    int p;
    if(n==0)
    {
        return 1;
    }
    else
    {
        if(n%2==0)
        {
            return fc((a*a)%MOD,n/2);
        }
        if(n%2==1)
        {
            return (a*fc((a*a)%MOD,n/2))%MOD;
        }
    }
}
int main()
{
    FILE *in,*out;
    in=fopen("lgput.in","r");
    out=fopen("lgput.out","w");
    long long n,p;
    fscanf(in,"%lld%lld",&n,&p);
    ct=n;
    fprintf(out,"%lld",fc(n,p));
    return 0;
}