Cod sursa(job #3132447)

Utilizator stefoni.mirceaStefoni Mircea stefoni.mircea Data 22 mai 2023 20:00:33
Problema Ridicare la putere in timp logaritmic Scor 0
Compilator c-64 Status done
Runda Arhiva educationala Marime 0.55 kb
#include <stdio.h>

float exp_log(float x, int n)
{
    if (n < 0)
    {
        x = 1.0 / x;
        n = (-1) * n;
    }
    if (n == 0)
    {
        return 1;
    }
    float p = 1;
    while (n > 0)
    {
        if (n % 2)
        {
            p = p * x;
        }
        x = x * x;
        n = n / 2;
    }
    return p;
}

int main(void)
{
    float x;
    int n;

    printf("Introduce-ti numarul X: \n");
    scanf("%g",&x);

    printf("Introduce-ti puterea n: \n");
    scanf("%d",&n);

    printf("%g^%d = %g\n",x,n,exp_log(x,n));

    return 0;
}