Cod sursa(job #2695251)

Utilizator mircea_007Mircea Rebengiuc mircea_007 Data 12 ianuarie 2021 11:52:38
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator c-64 Status done
Runda Arhiva educationala Marime 0.47 kb
#include <stdio.h>

#define MOD 1999999973

int main(){
  FILE *fin  = fopen("lgput.in",  "r");
  FILE *fout = fopen("lgput.out", "w");

  unsigned int n, p, paux, res;

  fscanf(fin, "%u%u", &n, &p);

  res = 1;
  paux = n;
  while( p > 0 ){
    if( p & 1 )
      res = ((unsigned long long)res) * paux;
    
    paux = ((unsigned long long)paux) * paux;
    p /= 2;
  }

  res %= MOD;// just in case

  fprintf(fout, "%u\n", res);

  fclose(fin);
  fclose(fout);
  return 0;
}