Cod sursa(job #3132459)

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

const int n_max = 10001; 
const int m = 1999999973;

long long 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)
{
    long long int N,P;
    long long sol;

    FILE *f ,*g;

    f=fopen("lgput.in","w");
    g=fopen("lgput.out","r");

    fscanf(f,"%lld %lld",&N,&P);

    sol = exp_log(N,P);

    fprintf(g,"%lld" , sol);
   

    return 0;
}