Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon. Entire thread

hay look at my recursive pow

Name: Anonymous 2009-03-04 20:14


#include <stdio.h>
#include <stdlib.h>

unsigned long long rpow(int n, int p) {
  return p ? p==1 ? n : n * rpow(n,p-1) : 1;
}

int main(int argc, char **argv) {
  if(argv[1])
    if(argv[2]) {
      int n = atoi(argv[1]);
      int p = atoi(argv[2]);
      printf("%llu\n",rpow(n,p));
    }
  return 0;
}

Name: Anonymous 2009-03-05 6:11

uintmax_t rpow_aux(uintmax_t, uintmax_t, uintmax_t) __attribute__ ((const, always_inline));
uintmax_t rpow_aux(uintmax_t n, uintmax_t p, uintmax_t a) {
 return p == 0 ? a : rpow_aux(n, p - 1, a * n); }

uintmax_t rpow(uintmax_t n, uintmax_t p){
 return p < 1 ? 1 : rpow_aux(n, p, 1); }

Newer Posts
Don't change these.
Name: Email:
Entire Thread Thread List