Cod sursa(job #801483)

Utilizator lehman97Dimulescu David lehman97 Data 24 octombrie 2012 15:12:40
Problema Ridicare la putere in timp logaritmic Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.44 kb
#include <iostream>
#include <stdio.h>

using namespace std;


FILE *f=fopen("lgput.in","r");
FILE *g=fopen("lgput.out","w");

unsigned int n,p,nr,i,m;

int main()
{
    fscanf(f,"%d%d",&n,&p);
    nr=1;
    for(i=0;i<32;i++)
    {
        m=1<<i;

        if((m&n)==m)
        {

            nr=(p*nr)%1999999973;

        }
         p=(p*p)%1999999973;


    }
    fprintf(g,"%d",nr);
    fclose(g);
    return 0;
}