Cod sursa(job #1980235)

Utilizator b10nd3Oana Mancu b10nd3 Data 12 mai 2017 16:56:45
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.44 kb
#include<stdio.h>
#include<stdlib.h>
#include<fstream>
#include<iostream>

using namespace std;
const int m=1999999973;


int main(){
ifstream in; ofstream out;
in.open("lgput.in"); out.open("lgput.out");
out.clear();

long long sol=1;
int n,p,i;

in>>n>>p;

i=0;
while((1<<i)<=p) i++;

while(i>0){
i--; 	
sol=(sol*sol)%m;
if(((1<<i)&p)>0) sol=(sol*n)%m;	
}

out<<sol<<endl;

in.close(); out.close();
return 0;
}