All pastes #2076360 Raw Edit

Something

public text v1 · immutable
#2076360 ·published 2011-06-07 19:57 UTC
rendered paste body
#include <stdio.h>
#include <stdlib.h>

long long int binaryEpansion(int basis, int exponent, int mod)
{
  long long int result = 1;
  for(int bit=63; bit >= 0; bit--)
  {
    result *= result;
    if ( (exponent & (1 << bit)) != 0 )
    {
      result *= basis;
    }
    result = result % mod;
  }
  return result;
}

int main(int argc, char** argv)
{
  if ( argc != 4 )
  {
    printf("Usuage: %s [basis] [exponent]\n", argv[0]);
    exit(1);
  }
  printf("%i\n", binaryEpansion(atoi(argv[1]), atoi(argv[2]), atoi(argv[3])));
}