Cod sursa(job #728526)

Utilizator OwnedCheciches Marius Owned Data 28 martie 2012 19:32:09
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;

#define m 1999999973

int put(int b,int p){
	int a;
	if(p==0) return 1;
	if(p==1) return b%m;
	if(p%2==0){
		a=put(b,p/2)%m;
		a=a*a%m;
		return a;}
	a=b*put(b,p-1);
	a=a%m;
	return a;}

int main(){
	int n,p;
	ifstream f("lgput.in");
	ofstream g("lgput.out");
	f>>n>>p;
	int a;
	a=put(n,p);
	g<<a;
	f.close();
	g.close();
	return 0;}