Cod sursa(job #1621642)

Utilizator turbowin120Amarandei-Stanescu Alexandru turbowin120 Data 29 februarie 2016 20:28:41
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.48 kb
#include <iostream>
#include <stdio.h>
using namespace std;
const int MOD = 1999999973;

long long n,p;

int main()
{
    FILE * in;
    in=fopen("lgput.in", "r");
    fscanf(in,"%lld%lld",&n,&p);

    p=p%MOD;
   long long sol=1;
    while(p){
        if(p&1){ // echivalent cu p%2==1
            sol=(sol*n)%MOD;
        }
        n=(n*n)%MOD;
        p=p/2;
    }

    FILE * out;
    out=fopen("lgput.out", "w");
    fprintf(out,"%lld",sol);
    return 0;
}