Cod sursa(job #2105195)

Utilizator lixiLixandru Andrei lixi Data 12 ianuarie 2018 19:46:27
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.54 kb
#include <iostream>
#include<fstream>
using namespace std;
ifstream f("lgput.in");
ofstream g("lgput.out");
const int MOD = 1999999973;
int putere(int a, int p)
{
    int x = 1;
    while(p > 0)
        if(p % 2 == 0)
        {
            a = (long long)a * a % MOD;
            // a=1LL*a*a%MOD;
            p /= 2;
        }
        else
        {
            x = (long long)x * a % MOD;
            p--;
        }
    return x;
}

int main()
{
    int N, P;
    f >> N >> P;
    g << putere(N, P);
    return 0;
}