Cod sursa(job #1658916)

Utilizator teoceltareconstantin teodor teoceltare Data 21 martie 2016 21:22:19
Problema Ridicare la putere in timp logaritmic Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.41 kb
#include<iostream>
#include<fstream>
using namespace std;
ifstream fin("lgput.in");
ofstream fout("lgput.out");
long long n,p,e=1,x=1,m;
bool v[32];
int main()
{
    fin>>n>>p;
    while(p>0)
    {
        m++;
        if(p%2==1) v[m]=1;
        p/=2;
    }
    n=n*n;
    for(int i=1;i<=m;i++)
    {
        if(v[i]==1)
        {
            e*=x;
        }
        x*=n;
    }
    fout<<e;
}