Cod sursa(job #477457)

Utilizator andra23Laura Draghici andra23 Data 14 august 2010 18:42:32
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.52 kb
#include<iostream>
#include<fstream>

using namespace std;

long long putere(int n, int p){
    long long rez;
    if (p == 0)
        return 1;
    else {
        if (p%2 == 0){
            rez = putere(n, p/2);
            return (rez*rez)%1999999973;    
        } 
        else return (n*putere(n, p-1))%1999999973;   
    }    
}

int main(){
    ifstream f("lgput.in");
    ofstream g("lgput.out");
    int n, p;
    f>>n>>p;
    
    long long x = putere(n, p);
    g<<x<<'\n';
    
    return 0;
}