Cod sursa(job #980088)
| Utilizator | Data | 3 august 2013 21:44:23 | |
|---|---|---|---|
| Problema | Ridicare la putere in timp logaritmic | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.58 kb |
#include <cstdio>
using namespace std;
long long n,sol,m,aux,i,modo,a;
long long putere(long long int n)
{
long long x;
if(n==0) return 1;
else
{
if(n%2==1)
{
x=putere(n/2);
return ((a*x)%modo*x)%modo;
}
else
{
x=putere(n/2);
return (x*x)%modo;
}
}
}
int main()
{
freopen("lgput.in","r",stdin);
freopen("lgput.out","w",stdout);
scanf("%lld %lld",&a,&n);
modo=1999999973;
sol=putere(n);
printf("%d\n",sol);
}
