Cod sursa(job #2176252)

Utilizator alexoloieriAlexandru Oloieri alexoloieri Data 16 martie 2018 21:55:10
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.54 kb
#include <fstream>
#define MOD 1999999973
#define ll long long int
using namespace std;
ifstream fin("lgput.in");
ofstream fout("lgput.out");

ll n, putere;

ll el(ll element, ll putere)
{
    ll ret=1;
    while (putere)//puterea e >0)
    {
        if (putere&1)
        {
            ret=(ret*element)%MOD;
            putere--;
        }
     element=(element*element)%MOD;
     putere=putere/2;
    }
    return ret;
}

int main()
{
    fin>>n>>putere;
    fout<<el(n,putere);
    fin.close();
    fout.close();
}