Cod sursa(job #925911)

Utilizator narcis_vsGemene Narcis - Gabriel narcis_vs Data 24 martie 2013 20:20:09
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.5 kb
#include<fstream>
#define mod 1999999973
using namespace std;
long long n,k,p=1LL;
long long Putere_log()
{
    while(k)
    {
        if(k&1)//k este impar
        {
            p = (p % mod * n%mod)%mod;
            k--;
        }
        k >>= 1;//k/=2
        n = (n % mod * n %mod ) %mod;
    }
    return p;
}
int main()
{
    ifstream fin("lgput.in");
    fin>>n>>k;
    fin.close();
    ofstream fout("lgput.out");
    fout<<Putere_log()<<"\n";
    fout.close();
    return 0;
}