Cod sursa(job #947459)

Utilizator rzvrzvNicolescu Razvan rzvrzv Data 7 mai 2013 16:07:52
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.41 kb
#include<cstdio>

using namespace std;

long long i,p,n,sol;

int main()
{
    freopen("lgput.in","r",stdin);
    freopen("lgput.out","w",stdout);
    scanf("%d%d",&n,&p);
    sol=1;
    for(i=0;(1<<i)<=p;i++)
    {
        if(((1<<i)&p)>0)
        {
            sol*=n;
            sol%=1999999973;
        }
        n*=n;
        n%=1999999973;
    }
    printf("%d\n",sol);
    return 0;
}