Cod sursa(job #3257924)

Utilizator pacelaaaCiurea Pavel pacelaaa Data 19 noiembrie 2024 22:42:37
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator c-64 Status done
Runda Arhiva educationala Marime 0.51 kb
#include <stdio.h>

#define p 1999999973;

int main(){
    int b, ans, pow;
    long long ans0;
    FILE *fin, *fout;

    fin = fopen( "lgput.in", "r" );
    fscanf( fin, "%d%d", &b, &pow );
    fclose( fin );
    ans = 1;
    ans0 = 1;

    while ( pow > 0 ) {
      if ( pow % 2 == 1 )
        ans0 = (ans0 * b) % p;
      ans = ans0;
      pow = pow / 2;
      b = b * b;
    }

    fout = fopen( "lgput.out", "w" );
    fprintf( fout, "%d\n", ans );
    fclose( fout );
    return 0;
}