Cod sursa(job #1763768)

Utilizator ReksioCroftOctavian Florin Staicu ReksioCroft Data 24 septembrie 2016 16:27:48
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator c Status done
Runda Arhiva educationala Marime 0.48 kb
#include <stdio.h>
#define mod 1999999973
long long nr = 1LL;

void lgput( long long n, int p ){
    if( p!=0 )
        lgput( (n*n*1LL)%mod, p/2 );
    if( p%2==1 )
        nr = ( nr * n ) % mod;
}

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