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) : Int64;
  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. writeln(Factorial(n) div (Factorial(k) * Factorial(n - k)));
  19. Binom := Factorial(n) div (Factorial(k) * Factorial(n - k));
  20. end;
  21. begin
  22. n := Binom(2 * n, n) div (n + 1);
  23. end;
  24. begin
  25. for i := 0 to 9 do
  26. begin
  27. s := format('Catalan number %d is %d', [i, Catalan(i)]);
  28. writeln(s);
  29. end;
  30. end.
  31.  
  32.  
Success #stdin #stdout 0s 580KB
stdin
Standard input is empty
stdout
1
Catalan number 0 is 1
2
Catalan number 1 is 1
6
Catalan number 2 is 2
20
Catalan number 3 is 5
70
Catalan number 4 is 14
252
Catalan number 5 is 42
924
Catalan number 6 is 132
3432
Catalan number 7 is 429
12870
Catalan number 8 is 1430
48620
Catalan number 9 is 4862