Cod sursa(job #1043520)

Utilizator caliuxSegarceanu Calin caliux Data 28 noiembrie 2013 18:14:26
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.41 kb
#include <stdio.h>
#define MOD 1999999973
using namespace std;

long long N, P, SOL = 1, i;

int main(){
    freopen("lgput.in", "r", stdin);
    freopen("lgput.out", "w", stdout);

    scanf("%d%d", &N, &P);

    for(i = 0; (1 << i) <= P; i++){
            if( ((1 << i) & P) > 0){
                SOL = (SOL * N) % MOD;
            }
            N = (N * N) % MOD;
    }
    printf("%d ", SOL);
}