Cod sursa(job #1005371)

Utilizator toncuvasileToncu Vasile toncuvasile Data 4 octombrie 2013 21:47:49
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.63 kb
#include<fstream>
using namespace std;

int M=1999999973;

/* int power(int N, int P){
    if(P==0) return 1;
    if(P==1) return N;
    long long aux=power(N,P/2);
    aux=(aux*aux)%M;
    if(P%2==1) aux=(aux*N)%M;
    return int(aux);

}
*/

int power(int x,int n){
    if(n==0) return 1;
    if(n==1) return x;
    if(n%2==0) return (power((x%M)*(x%M)%M,n/2))%M;
    if(n%2==1) return (x%M)*(power(x,n-1))%M;
}

int main(){
    ifstream inFile("lgput.in");
    int baza,exponentul;
    inFile>>baza>>exponentul;
    ofstream outFile;
    outFile.open("lgput.out");
    outFile<<power(baza,exponentul);


}