Cod sursa(job #2165793)

Utilizator DumitresculEDumitrescul Eduard DumitresculE Data 13 martie 2018 13:40:20
Problema Ridicare la putere in timp logaritmic Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.47 kb
#include <bits/stdc++.h>
using namespace std;
FILE *fin, *fout;
long long putere(long long a, long long b, long long c){
    int rez=1;
    while(b){
        if(b%2==1) rez=(rez*a)%c;
        a=(a*a)%c;
        b/=2;
    }
    return rez;
}
int main()
{
    fin=fopen("modulo.in", "r");
    fout=fopen("modulo.out", "w");
    long long a,b,c;
    c=1999999973;
    fscanf(fin, "%lld %lld", &a, &b);
    fprintf(fout, "%lld", putere(a%c,b,c));
    return 0;
}