Cod sursa(job #1625552)

Utilizator andi12Draghici Andrei andi12 Data 2 martie 2016 19:38:21
Problema Ridicare la putere in timp logaritmic Scor 10
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(int a,int n)
{
    if(n==0)
    {
        return 1;
    }
    else
    {
        if(n==1)
            ras=a;
        if(n%2==0)
        {
            fc(a*a%MOD,n/2);
        }
        if(n%2==1)
        {
            fc(a*ct%MOD,n-1);
        }
    }
}
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;
    fc(n,p);
    fprintf(out,"%lld",ras);
    return 0;
}