Cod sursa(job #662222)

Utilizator galbenugalbenu dorin galbenu Data 16 ianuarie 2012 09:35:48
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.51 kb
#include<iostream>
#include<fstream>
#include<cstring>
#define modul 1999999973
using namespace std;
ifstream f("lgput.in",fstream::in);
ofstream g("lgput.out",fstream::out);
unsigned long long x,n;
unsigned long long putere(long long x,long long n)
{   unsigned long p;
	if(n==0)
	 return 1;
	 else
		 if(n%2==1)
			 return (x*putere(x,n-1))%modul;
		 else
		 {p=putere(x,n/2);
		  return (p*p)%modul;
		 }
}
int main()
{f>>x>>n;
 g<<putere(x,n)%modul;
 f.close();
 g.close();
 return 0;
}