Cod sursa(job #159838)

Utilizator cosserBula Ionut cosser Data 14 martie 2008 14:16:15
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.53 kb
#include <stdio.h>
#define K 1999999973   
  
int main()   
{   
    freopen("lgput.in","r",stdin);   
    freopen("lgput.out","w",stdout);   
       
    int n,p,i;   
    long long x=0,rez=0;   
       
    scanf("%d%d",&n,&p);   
       
    x=n; rez=1;   
    for (i=0; (1<<i) <= p; ++i)   
    {   
        if ((1<<i) & p)   
            rez=(rez*x)%K;             
        x=(x*x)%K;   
    }   
       
    printf("%lld\n",rez);   
       
    fclose(stdin);   
    fclose(stdout);   
    return 0;   
}