Cod sursa(job #3299456)

Utilizator rares-razvan.boldeaRares-Razvan Boldea rares-razvan.boldea Data 6 iunie 2025 17:14:48
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator c-64 Status done
Runda Arhiva educationala Marime 0.49 kb
#include<stdio.h>
#include<stdint.h>
uint32_t power(uint32_t n,uint32_t p)
{
  if(p==0)
    return 1;
  uint32_t aux=power(n,p/2);
  uint64_t par=(uint64_t)aux*aux;
  uint64_t impar=(uint64_t)(n%1999999973)*(par%1999999973);
  if(p%2)
    return impar%1999999973;
  return par%1999999973;
}
int main()
{
  uint32_t n,p;
  FILE *in,*out;
  in=fopen("lgput.in","r");
  out=fopen("lgput.out","w");
  fscanf(in,"%d %d",&n,&p);
  fprintf(out,"%d\n",power(n,p));
  fclose(in);
  fclose(out);
  return 0;
}