fork download
  1. #include <iostream>
  2.  
  3. int facto(int k)
  4. {
  5. int n(1);
  6. while (n < k + 1)
  7. {
  8. n = n * (n + 1);
  9. n++;
  10. }
  11. return n;
  12. }
  13.  
  14. void do_test(int arg, int expected)
  15. {
  16. std::cout << arg << "! " ;
  17.  
  18. int result = facto(arg) ;
  19.  
  20. if (result == expected)
  21. std::cout << "Pass!\n" ;
  22. else
  23. std::cout << "Fail! Result: " << result << " Expected: " << expected << '\n';
  24. }
  25.  
  26. void test_factorial()
  27. {
  28. do_test(4, 4*3*2) ;
  29. do_test(3, 3*2) ;
  30. do_test(2, 2) ;
  31. do_test(1, 1) ;
  32. do_test(0, 1) ;
  33. }
  34.  
  35. int main()
  36. {
  37. test_factorial();
  38. }
Success #stdin #stdout 0s 3296KB
stdin
Standard input is empty
stdout
4! Fail! Result: 13 Expected: 24
3! Fail! Result: 13 Expected: 6
2! Fail! Result: 3 Expected: 2
1! Fail! Result: 3 Expected: 1
0! Pass!