Cod sursa(job #1006458)
Utilizator | Bogdan Pop pop_bogdan | Data | 7 octombrie 2013 08:30:02 |
---|---|---|---|
Problema | Ridicare la putere in timp logaritmic | Scor | 10 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.45 kb |
#include <fstream>
using namespace std;
ifstream is("lgput.in");
ofstream os("lgput.out");
int ExponentiereRapida(int x,int n)
{
if ( n == 0 )
return 1;
if ( n == 1 )
return x;
if ( n % 2 == 0 )
return ExponentiereRapida( x*x, n/2 );
if ( n % 2 == 1 )
return ExponentiereRapida( x*x, (n-1)/2 );
}
int main()
{
long long r,n,p;
is >> n;
is >> p;
r = ExponentiereRapida(n,p)%1999999973 ;
os << r;
}