Cod sursa(job #1014413)

Utilizator mndclaudiuMindrila Claudiu mndclaudiu Data 22 octombrie 2013 17:50:50
Problema Ridicare la putere in timp logaritmic Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.35 kb
#include<iostream>
using namespace std;
int a,n;
int putere(int a,int n)
{
    int b=a*a;
    if(n==1) return a;
    if(n==2) return b;
    if(n>2)
    {
        if(n%2) return a*putere(a,(n-1)/2)*putere(a,(n-1)/2);
        else return putere(a,n/2)*putere(a,n/2);
    }
}
int main()
{
    cin>>a>>n;

    cout<<putere(a,n);
    return 0;
}