Cod sursa(job #1656329)

Utilizator andreigasparoviciAndrei Gasparovici andreigasparovici Data 19 martie 2016 10:11:34
Problema Ridicare la putere in timp logaritmic Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.49 kb
#include <cstdio>
using namespace std;
#define MOD 1999999973
long long putere (long long n, long long p)
{
    if(p == 0)
        return 1;
    if(p == 1)
        return n % MOD;
    long long x = (exp(n, p / 2) % MOD);
    if(p % 2 == 0)
        return (x * x) % MOD;
    else
        return (((x * x) % MOD) * n) % MOD;
}
int main()
{
    int a,b;
    fscanf(fopen("lgput.in","r"),"%d %d ",&a,&b);
    fprintf(fopen("lgput.out","w"),"%lld\n",putere_(a,b));
    return 0;
}