Cod sursa(job #2033270)

Utilizator DobosDobos Paul Dobos Data 6 octombrie 2017 15:48:20
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator c Status done
Runda Arhiva educationala Marime 0.56 kb
#include <stdio.h>
#include <stdlib.h>

const long MOD = 1999999973;

int Lgpower(int x,int n,int y){

    if(n <= 1)
        return y;

    x = Lgpower(x,n/2,y);

    x = (x * x) % MOD;

    if(n % 2 == 1)
        x = (x * y) % MOD;
    return x;
}


int main()
{
    int n,x;

    FILE *fin;
    FILE *fout;

    fin = fopen("lgput.in","r");
    fout = fopen("lgput.out","w");

    fscanf(fin , "%d %d", &x, &n);

    int solution = Lgpower(x,n,x);

    fprintf(fout,"%d", solution);

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