fork download
  1. #include <stdio.h>
  2.  
  3. // inner loop
  4. unsigned mul(unsigned a, unsigned b) {
  5. unsigned res = 0;
  6. while (b--) res += a;
  7. return res;
  8. }
  9.  
  10. // outer loop
  11. unsigned fact(unsigned n) {
  12. unsigned f = 1;
  13. while (n) f = mul(f, n--);
  14. return f;
  15. }
  16.  
  17. int main(void) {
  18. int n = 7;
  19. printf("%d! is %u\n", n, fact(n));
  20. return 0;
  21. }
  22.  
Success #stdin #stdout 0s 9424KB
stdin
Standard input is empty
stdout
7! is 5040