example: add catalan_numbers task of Rosetta code
authorArthur Delamare <arthur.delamare@viacesi.fr>
Wed, 10 Jun 2015 15:20:40 +0000 (11:20 -0400)
committerArthur Delamare <arthur.delamare@viacesi.fr>
Wed, 10 Jun 2015 15:32:54 +0000 (11:32 -0400)
Signed-off-by: Arthur Delamare <arthur.delamare@viacesi.fr>

examples/rosettacode/catalan_numbers.nit [new file with mode: 0644]
tests/sav/catalan_numbers.res [new file with mode: 0644]

diff --git a/examples/rosettacode/catalan_numbers.nit b/examples/rosettacode/catalan_numbers.nit
new file mode 100644 (file)
index 0000000..971d5d9
--- /dev/null
@@ -0,0 +1,17 @@
+#!/usr/bin/env nit
+#
+# This file is part of NIT ( http://www.nitlanguage.org ).
+# This program is public domain
+#
+# Task: Catalan numbers
+# SEE: <http://rosettacode.org/wiki/Catalan_numbers>
+
+fun catalan_number(number: Int): Int do
+       var numerator = (2 * number).factorial
+       var denominator = (number + 1).factorial * number.factorial
+       return numerator/denominator
+end
+
+for number in [0..10] do
+       print "{number} = {catalan_number(number)}"
+end
diff --git a/tests/sav/catalan_numbers.res b/tests/sav/catalan_numbers.res
new file mode 100644 (file)
index 0000000..0fbf415
--- /dev/null
@@ -0,0 +1,11 @@
+0 = 1
+1 = 1
+2 = 2
+3 = 5
+4 = 14
+5 = 42
+6 = 132
+7 = 429
+8 = 1430
+9 = 4862
+10 = 16796