Cod sursa(job #2385181)

Utilizator AsthenichDog390Alex Preda AsthenichDog390 Data 21 martie 2019 18:10:47
Problema Ridicare la putere in timp logaritmic Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.56 kb
#include <bits/stdc++.h>

using namespace std;
ifstream in("lgput.in");
ofstream out("lgput.out");
long long a,b,n,p;
long long r;
const long long P=1999999973;

int main()
{
    cin>>a>>b;
    n=a;
    p=b;
    if(b==0)
    out<<1;
    else
    {
        while(b!=1)
        {
            if(b%2!=0)
            {
                b=b-1;
                r++;
            }
            a=a*n;
            b=b/2;
        }
        a=a*n;
        if(r!=0)
        for(int i=1;i<=r;i++)
        a=a*n;

        cout<<a;
    }
    return 0;
}