Cod sursa(job #789852)

Utilizator cbanu96Banu Cristian cbanu96 Data 19 septembrie 2012 17:40:07
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.5 kb
#include <iostream>
#include <fstream>

#define MOD 1999999973

using namespace std;
int main()
{
    unsigned int i, n, p;
    long long sol = 1, x;
    ifstream f("lgput.in");
    f >> n >> p;
    x = n;
    while (p != 0)
    {
        if (p%2 == 1)
        {
            sol = (sol * x) % MOD;
            p--;
        }
        else
            x = (x*x) % MOD;
        p /= 2;
    }
    f.close();
    ofstream g("lgput.out");
    g << sol << '\n';
    g.close();
    return 0;
}