Cod sursa(job #2249287)

Utilizator daria_stoianStoian Daria Alexandra daria_stoian Data 29 septembrie 2018 14:58:41
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator c Status done
Runda Arhiva educationala Marime 0.44 kb
#include <stdio.h>
#include <stdlib.h>

int main(){
  FILE *fin, *fout;
  fin = fopen ( "lgput.in", "r" );
  fout = fopen ( "lgput.out", "w" );
  long long n, p, x;
  fscanf( fin, "%lld%lld", &n, &p );
  x = 1;
  do{
    x = x % 1999999973;
    if ( p % 2 != 0 )
      x = x * n;
    n = ( n * n ) % 1999999973;
    p /= 2;
    x = x % 1999999973;
  }while ( p > 0 );
  fprintf( fout, "%lld", x );
  fclose ( fin );
  fclose ( fout );
  return 0;
}