Cod sursa(job #1005370)

Utilizator toncuvasileToncu Vasile toncuvasile Data 4 octombrie 2013 21:45:58
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.62 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*x)%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);


}