Cod sursa(job #2589683)

Utilizator MihaiutcnStancu Mihai Cristian Mihaiutcn Data 26 martie 2020 18:29:16
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator c-64 Status done
Runda Arhiva educationala Marime 0.52 kb
#include <stdio.h>
#include <stdlib.h>

float putere(float nr,int exp)
{
    if(exp < 0)
        return putere(1/nr, -exp);
    else if(exp==0)
        return 1;
    else if(exp==1)
        return nr;
    else if(exp%2==0)
        return putere( nr*nr , exp/2);
    else
        return(nr*putere( nr*nr , exp/2));
}


int main()
{
    freopen("lgput.in","r",stdin);
    freopen("lgput.out","w",stdout);
    float n;
    int exp;
    scanf("%f %d",&n,&exp);
    printf("%g",putere(n,exp));
    return 0;
}