Cod sursa(job #432435)
| Utilizator | Data | 2 aprilie 2010 12:57:53 | |
|---|---|---|---|
| Problema | Ridicare la putere in timp logaritmic | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.43 kb |
#include <algorithm>
using namespace std;
#define MOD 1999999973
unsigned int n,p;
void solve ()
{
unsigned int rez;
for (rez=1; p; p>>=1)
{
if (p&1)
rez=(1LL*rez*n)%MOD;
n=(1LL*n*n)%MOD;
}
printf ("%u",rez);
}
int main ()
{
freopen ("lgput.in","r",stdin);
freopen ("lgput.out","w",stdout);
scanf ("%u%u",&n,&p);
solve ();
return 0;
}
