Cod sursa(job #2374902)

Utilizator stefanpiturStefan Alexandru Pitur stefanpitur Data 7 martie 2019 21:10:49
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.51 kb
#include <iostream>
#include <cstdio>
#define MODULO 1999999973
using namespace std;
int lgput(int n, int p){
    int ans=1;
    while(p){
        if(p%2==1)
            ans=(1LL*ans*n)%MODULO;
        n=(1LL*n*n)%MODULO;
        p=p/2;
    }
    return ans;
}
int main()
{
    FILE *fin, *fout;
    int n,p;
    fin=fopen("lgput.in","r");
    fout=fopen("lgput.out","w");
    fscanf(fin,"%d %d",&n,&p);
    fprintf(fout,"%d\n",lgput(n,p));
    fclose(fin);
    fclose(fout);
    return 0;
}