Cod sursa(job #728950)

Utilizator nicnic28nichita trita nicnic28 Data 29 martie 2012 09:44:03
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.4 kb
#include<fstream>
using namespace std;

ifstream in("lgput.in");
ofstream out("lgput.out");

long long n,p,a,put;

int purtare(int a,int f){
	if(f==0 || f==1)
		return a%1999999973;
	if(f%2==0)
		return purtare((long long)a*a%1999999973 , f/2)%1999999973;
	return a*purtare((long long)a*a%1999999973 , f/2)%1999999973;
}

int main(){
	in>>n>>p;
	out<<purtare(n,p)%1999999973;
	return 0;
}