Cod sursa(job #917607)

Utilizator marta_diannaFII Filimon Marta Diana marta_dianna Data 18 martie 2013 10:13:32
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.52 kb
#include<fstream>
#define MOD 1999999973

using namespace std;

ifstream f("lgput.in");
ofstream g("lgput.out");

long long a, n, b=1, p=1;

void Citeste()
{
    f>>a>>n;
}

void Solve()
{
    b=a;
    while (n>0)
    {
        if (n%2==0)
        {
            b=(b*b)%MOD;
            n/=2;
        }
        else
        {
            p=(p*b)%MOD;
            --n;
        }
    }
    g<<p<<"\n";
}

int main()
{
    Citeste();
    Solve();
    f.close();
    g.close();
    return 0;
}