Cod sursa(job #658246)

Utilizator razvan_kusztosKusztos razvan razvan_kusztos Data 8 ianuarie 2012 14:09:05
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.46 kb
#include<cstdio>
#define m 1999999973
using namespace std;
int p;
long long n,sol;
int rid(int n,int p)
{
    if (p==0) return 1;
    if (p%2==0)
        {
            int x = rid(n,p/2);
            return x*x%m;
        }
    if (p%2!=0) return  (n*rid(n,p-1))%m;
}
int main()
   {
       freopen("lgput.in","r",stdin);
       freopen("lgput.out","w",stdout);
       scanf("%lld%d",&n,&p);
       sol=rid(n,p);
       printf("%lld",sol);
   }