Cod sursa(job #577238)
| Utilizator | Data | 9 aprilie 2011 21:56:30 | |
|---|---|---|---|
| Problema | Ridicare la putere in timp logaritmic | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.43 kb |
#include <cstdio>
using namespace std;
FILE *fin=freopen("lgput.in","r",stdin);
FILE *fout=freopen("lgput.out","w",stdout);
int n,k;
const int mod= 1999999973;
void putere()
{
long long a=n,p=1;
for(int i=0;(1<<i)<=k;i++)
{
if(((1<<i)& k)> 0)
p=(p*a)%mod;
a=(a*a)%mod;
}
printf("%d\n",p);
}
int main()
{
scanf("%d %d",&n,&k);
putere();
return 0;
}
