Cod sursa(job #992947)

Utilizator sebinechitasebi nechita sebinechita Data 2 septembrie 2013 20:36:28
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.67 kb
#include <iostream>
#include <fstream>
#include <cstring>
#include <string>
#include <climits>
#include <algorithm>
//#include <cmath>
using namespace std;

ifstream fin("lgput.in");
ofstream fout("lgput.out");
#define baza 1
#define MAX 100005
#define MOD 1999999973
long long int  n,b,nr,i,j, p;
long long int x,m,maxx;



long long int pow(long long int a,long long int b)
{
    long long p=1;
    while(b)
    {
        if((b&1)==1)
        {
            p*=a;
            p%=MOD;
        }
        a*=a;
        a%=MOD;
        b>>=1;
    }
    return p;
}

int main()
{
    fin>>n>>p;

    n%=MOD;
    fout<<pow(n,p);

    return 0;
}