Cod sursa(job #1957039)

Utilizator mateibanuBanu Matei Costin mateibanu Data 7 aprilie 2017 11:57:40
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.46 kb
#include <stdio.h>

using namespace std;

#define MOD 1999999973
#define ll long long

FILE*f=fopen("lgput.in","r");
FILE*g=fopen("lgput.out","w");

ll putere(ll n, ll p){
    if (p==0) return 1;
    if (p==1) return n;
    ll s=putere(n,p/2);
    s=(s*s)%MOD;
    if (p%2) s=(s*n)%MOD;
    return s%MOD;
}

int main()
{
    ll n,p;
    fscanf(f,"%lld%lld",&n,&p);
    fprintf(g,"%lld",putere(n,p));
    fclose(f);
    fclose(g);
    return 0;
}