Cod sursa(job #935235)

Utilizator George515600Bejan George George515600 Data 2 aprilie 2013 13:09:00
Problema Ridicare la putere in timp logaritmic Scor 0
Compilator c Status done
Runda Arhiva educationala Marime 0.45 kb
#include <stdio.h>
#include <stdlib.h>

#define MOD 1999999973

long long square(n,p)
{
    if (p == 1) return n;
    if (n % 2) return square(n*n,p/2);
    else return n*square(n*n, (p-1)/2);
}

int main()
{
    FILE *f = fopen("lgput.in","r");
    FILE *g = fopen("lgput.out","w");

    long long sol;
    int n, p;
    fscanf(f,"%d %d", &n, &p);
    sol = square(n,p);
    fprintf(g,"%lld", sol % MOD);

    fclose(f);
    fclose(g);

    return 0;
}