Cod sursa(job #1004551)

Utilizator toncuvasileToncu Vasile toncuvasile Data 2 octombrie 2013 23:34:44
Problema Ridicare la putere in timp logaritmic Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.44 kb
#include<fstream>

using namespace std;


int main(){
    ifstream inFile("lgput.in");
    ofstream outFile;
    outFile.open("lgput.out");
    long long N,P;
    inFile>>N>>P;
    long long  m=1999999973;
    long long n=P,p=1;
    while(n>0){
       if(n%2==1){
            p=((p%m)*(N%m))%m;
            n--;
       }
          else{
            p=((p%m)*(p%m))%m;
            n=n/2;
          }

    }
    outFile<<p;
}