Cod sursa(job #1549909)

Utilizator VladTiberiuMihailescu Vlad Tiberiu VladTiberiu Data 12 decembrie 2015 21:56:07
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.42 kb
#include <cstdio>

using namespace std;

int n,p;
int putere(int &n,int &p){
    int nr = 1;
    while(p != 0){
        if(p % 2 == 1){
            p -= 1;
            nr *= n;
        }
        n = n * n;
        p /= 2;
    }
    return nr;
}
int main()
{
    freopen("lgput.in","r",stdin);
    freopen("lgput.out","w",stdout);
    scanf("%d %d",&n,&p);
    printf("%d ",putere(n,p));
    return 0;
}