Cod sursa(job #3230445)

Utilizator DraghiciDenisDraghici Denis Cosmin DraghiciDenis Data 21 mai 2024 17:44:40
Problema Ridicare la putere in timp logaritmic Scor 0
Compilator c-64 Status done
Runda Arhiva educationala Marime 0.49 kb
#include <stdio.h>
#include <stdlib.h>

int exponent(int N, int P)
{
  if(P == 0){
    return 1;
  }
  else if(P % 2 == 0){
    return exp(N * N, P / 2);
  }
  else if(P % 2 != 0){
    return N * exp(N * N, (P - 1) / 2);
  }
  return 1;
}

int main(void)
{
  FILE *input = fopen("igput.in", "r");
  FILE *output = fopen("igput.out", "w");
  int N, P, rez = 1;
  fscanf(input, "%d", &N);
  fscanf(input, "%d", &P);
  fprintf(output, "%d", exponent(N, P));
  fclose(input);
  fclose(output);
  return 0;
}