Cod sursa(job #1611771)

Utilizator NicusorTelescu Nicolae Nicusor Data 24 februarie 2016 13:51:55
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.56 kb
#include <cstdio>

using namespace std;

long long putere(long long a,long long b)
{
    if (b==0)
        return 1;
    else
    {
        if (b%2==0)
        {
            long long c=putere(a,b/2);
            return (long long) (c*c);
        }
        else
        {
            long long c=putere(a,b/2);
            return (long long) (c*c*a);
        }
    }
}

int main()
{
    freopen("lgput.in","r",stdin);
    freopen("lgput.out","w",stdout);
    long long n,p;
    scanf("%lld %lld",&n,&p);
    printf("%lld ",putere(n,p));
}