Cod sursa(job #1124205)

Utilizator badea_adi1999Badea Adrian Catalin badea_adi1999 Data 26 februarie 2014 11:47:53
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.48 kb
#include <cstdio>
using namespace std;
FILE *f=fopen("lgput.in","r");
FILE *g=fopen("lgput.out","w");
long long exp_logar(long long x,int nr)
{x%=1999999973LL;
if (nr==0) return 1;
if (nr==1) return x;
if (nr>=2) {if (nr%2==0) return exp_logar(x*x,nr>>1);
            nr--;
            return x*exp_logar(x*x,nr>>1)%1999999973;
            }



}
int main()
{int n,p,sol;
fscanf(f,"%d %d",&n,&p);
sol=exp_logar(n,p)%1999999973LL;
fprintf(g,"%d",sol);





return 0;
}