Cod sursa(job #1769796)

Utilizator tanyafTanya Foransbergher tanyaf Data 3 octombrie 2016 10:37:11
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.47 kb
#include <fstream>

using namespace std;
ifstream f ("lgput.in");
ofstream g ("lgput.out");
long long a,k,x,i,m;
long long putere (long long a,long long k)
{
    long long x;
    if(k==0) return 1;
    if(k==1) return a % m;
    else if(k%2==1) return (a*putere(a,k-1)) % m;
    else {
            x = putere(a,k/2);
            return (x*x) % m;}
}

    int main()
    {
        f>>a>>k;
        m=1999999973;
        g<<putere(a,k);

        return 0;
    }