Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.ArrayList;
- import java.util.List;
- import java.util.Scanner;
- public class CatalanNumbers {
- public static void main(String[] args) {
- Scanner scanner = new Scanner(System.in);
- int n = Integer.parseInt(scanner.nextLine());
- List<Long> catalanNumbers = getCatalanNumbers(new ArrayList<>({1}), n);
- System.out.println(catalanNumbers);
- }
- public static List<Long> getCatalanNumbers(List<Long> catalanNumbers, int n) {
- if(catalanNumbers.size() == (n + 1)) {
- return catalanNumbers;
- }
- long currentCatalanNumber = factorial(2 * catalanNumbers.size()) /
- (factorial(catalanNumbers.size() + 1) * factorial(catalanNumbers.size()));
- catalanNumbers.add(currentCatalanNumber);
- return getCatalanNumbers(catalanNumbers, n);
- }
- public static long factorial(int num) {
- if(num == 0) {
- return 1;
- } else {
- return num * factorial(num - 1);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment