int atou(char *s) { int n = 0; for (char *p = s; *p; p++) { n *= 10; n += *p - '0'; } return n; } int fact(int n) { return n ? n * fact(n-1) : 1; } int factext(char *s) { int n = atou(s); return fact(n); }