Cod sursa(job #3132447)
Utilizator | Stefoni 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;
}