Cod sursa(job #2332892)

Utilizator Leonard123Mirt Leonard Leonard123 Data 31 ianuarie 2019 13:16:10
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.4 kb
#include<fstream>
using namespace std;
ifstream fin("lgput.in");
ofstream fout("lgput.out");

int putere(int a, int b, int c){
    if(b==0)
        return 1;
    if(b==1)
        return a%c;
    if(b%2==0)
        return (putere(a,b/2,c)*putere(a,b/2,c))%c;
    return (putere(a,b-1,c)*a)%c;
}
int main(){
    int a,b,c=1999999973;
    fin>>a>>b;
    fout<<putere(a,b,c);
    return 0;
}