Cod sursa(job #2663452)

Utilizator mihaipriboimihailucapriboi mihaipriboi Data 26 octombrie 2020 14:12:57
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator c-64 Status done
Runda Arhiva educationala Marime 0.52 kb
//Mihai Priboi

#include <stdio.h>
#include <stdlib.h>
#define MOD 1999999973

long long pow( long long n, long long p ) {
  long long r;
  r = 1;
  while( p > 0 ) {
    if( p % 2 == 1 )
        r = (r * n) % MOD;
    n = (n * n) % MOD;
    p /= 2;
  }
  return r;
}

int main() {
  FILE *fin, *fout;
  long long n, p;
  fin = fopen( "lgput.in", "r" );
  fscanf( fin, "%lld%lld", &n, &p );
  fclose( fin );
  fout = fopen( "lgput.out", "w" );
  fprintf( fout, "%lld", pow(n, p) );
  fclose( fout );
  return 0;
}