Cod sursa(job #148734)

Utilizator vanila_CPPIonescu Victor Cristian vanila_CPP Data 4 martie 2008 19:37:19
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.61 kb
#include <iostream>
#define FIN "lgput.in"
#define FOUT "lgput.out"
#define CONST 1999999973
using namespace std;
int a,b;


void iofile(void){
        freopen(FIN,"rt",stdin);
        freopen(FOUT,"wt",stdout);
        scanf("%d%d",&a,&b);
        fclose(stdin);
}


void solve(void){
        int sol,p,nr;
        nr=a;sol=1;
        for (p=0;(1<<p)<=b;p++){
                if (b & (1<<p)){
                        sol=(sol*nr)%CONST;
                }
                nr=(nr*nr)%CONST;
        }
        printf("%d\n",sol);
        fclose(stdout);
}

int main(void){
        iofile();
        solve();
        return 0;
}