Cod sursa(job #457350)

Utilizator GulyanAlexandru Gulyan Data 18 mai 2010 23:32:40
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator c Status done
Runda Arhiva educationala Marime 0.43 kb
#include <stdio.h>

long long int c = 1999999973;

long long int put(long long int n, long long int p) {
  if(p == 0)
    return 1;
  long long int x = put(n, p / 2) % c;
  x = (x * x) % c;
  if(p % 2)
    x = x * n;
  return x % c;
}

int main() {
  freopen("lgput.in", "r", stdin);
  freopen("lgput.out", "w", stdout);

  long long int n, p;
  scanf("%lld %lld", &n, &p);
  printf("%lld\n", put(n, p));

  fclose(stdout);

  return 0;
}