Cod sursa(job #1335349)

Utilizator StarGold2Emanuel Nrx StarGold2 Data 5 februarie 2015 14:07:48
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.45 kb
#include <fstream>
#define DIM 1999999973
using namespace std;

ifstream fin ("lgput.in" );
ofstream fout("lgput.out");

int n, m, i, j, k, ok, minim, val;

int putere(int k){
    if(k == 1)
        return n;
        val = (putere(k / 2)) % DIM;
    val = (val * val) % DIM;
    if(k % 2 == 1)
        val = (val * n) % DIM;
    return val;
}

int main(){
    fin >> n >> k;
    val = putere(k);
    fout << val % DIM;
    return 0;
}