Cod sursa(job #2132840)

Utilizator Alex.PAlexandru Pacurar Alex.P Data 16 februarie 2018 09:23:12
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.56 kb
#include <stdio.h>
#include <stdlib.h>
#define mod 1999999973;

using namespace std;

long long pow(long long n, long long p){
    long long num=1;
    while(p>0){
        if(p%2==1){
            p--;
            num=(n*num)%mod;
        }
        n=(n*n)%mod;
        p/=2;
    }
    return num;
}

int main()
{
    FILE *fin, *fout;
    long long n,p;
    fin=fopen("lgput.in","r");
    fout=fopen("lgput.out","w");
    fscanf(fin,"%lld%lld",&n,&p);
    fprintf(fout,"%lld",pow(n,p));
    fclose(fin);
    fclose(fout);
    return 0;
}