Advertisement
math2do

nth_catalan

May 2nd, 2020
398
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.55 KB | None | 0 0
  1. /**
  2.  *    author:  math2do
  3.  *    created: 02.05.2020 14:06:08 IST
  4. **/
  5.  
  6. #include <bits/stdc++.h>
  7.  
  8. using namespace std;
  9.  
  10. using ull = unsigned long long int;
  11. const int N = 100;
  12. vector <ull> catalan(N + 1);
  13.  
  14. int main() {
  15.   ios_base::sync_with_stdio(false);
  16.   cin.tie(0);
  17.   auto calc = [&] () {
  18.     catalan[0] = catalan[1] = 1;
  19.     for (int i = 2; i <= N; i++) {
  20.       catalan[i] = 0;
  21.       for (int j = 0; j < i; j++) {
  22.         catalan[i] += catalan[j] * catalan[i - j - 1];
  23.       }
  24.     }
  25.   };
  26.   calc();
  27.  
  28.   // now catalan[n] gives nth catalan number
  29.   return 0;
  30. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement