Cod sursa(job #212362)

Utilizator taloibogdanTaloi Bogdan Cristian taloibogdan Data 5 octombrie 2008 11:18:11
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.42 kb
#include<stdio.h>
long long xr,d,n,m;
long long rest(long long n,long long m)
{long long z;
 if(m==0)return 1;
   else
    if(m%2) return (rest(n,m-1)*xr)%d;
      else
       {
        z=rest(n,m/2);
        return (z*z)%d;
       }
}
int main()
{
 freopen("lgput.in","r",stdin);
 freopen("lgput.out","w",stdout);
 scanf("%ld%ld",&n,&m);
 d=1999999973ll;
 xr=n%d;
 printf("%lld\n",rest(n,m));
 return 0;
}