-static unsigned _fak(unsigned a, unsigned b)
-{
- if (a == 0)
- return b;
-
- return _fak(a-1, a*b);
-}
+#include <stdio.h>
-static fak(unsigned a)
+static unsigned fak(unsigned n)
{
- return _fak(a, 1);
+ if (n == 0)
+ return 1;
+
+ return n * fak(n - 1);
}