fork download
  1. program Cat;
  2.  
  3. uses SysUtils;
  4. var
  5. i: Integer;
  6. s: String;
  7. function Catalan (n : Integer) : Integer;
  8. function Binom (n, k : Integer) : Integer;
  9. function Factorial (n : Integer) : Int64;
  10. begin
  11. if (n < 2) then
  12. Factorial := 1
  13. else
  14. Factorial := n * Factorial(n - 1);
  15. end;
  16. begin
  17. (* The / character does real division. To do integer division, use div *)
  18. Binom := Factorial(n) div (Factorial(k) * Factorial(n - k));
  19. end;
  20. begin
  21. n := Binom(2 * n, n) div (n + 1);
  22. end;
  23. begin
  24. for i := 0 to 9 do
  25. begin
  26. s := format('Catalan number %d is %d', [i, Catalan(i)]);
  27. writeln(s);
  28. end;
  29. end.
  30.  
  31.  
Success #stdin #stdout 0s 580KB
stdin
Standard input is empty
stdout
Catalan number 0 is 1
Catalan number 1 is 1
Catalan number 2 is 2
Catalan number 3 is 5
Catalan number 4 is 14
Catalan number 5 is 42
Catalan number 6 is 132
Catalan number 7 is 429
Catalan number 8 is 1430
Catalan number 9 is -1691