Catalan numbers: Difference between revisions
Content added Content deleted
(Kotlin entry) |
(Kotlin: output improved) |
||
Line 1,902: | Line 1,902: | ||
catsI[n] = fact(2 * n) / (fact(n + 1) * fact(n)) |
catsI[n] = fact(2 * n) / (fact(n + 1) * fact(n)) |
||
return catsI[n] |
return Math.round(catsI[n]).toDouble() |
||
} |
} |
||
Line 1,914: | Line 1,914: | ||
catsR1[n] = sum |
catsR1[n] = sum |
||
return sum |
return Math.round(sum).toDouble() |
||
} |
} |
||
Line 1,921: | Line 1,921: | ||
catsR2[n] = 2.0 * (2 * (n - 1) + 1) / (n + 1) * catR2(n - 1) |
catsR2[n] = 2.0 * (2 * (n - 1) + 1) / (n + 1) * catR2(n - 1) |
||
return catsR2[n] |
return Math.round(catsR2[n]).toDouble() |
||
} |
} |
||
Line 1,953: | Line 1,953: | ||
fun main(args: Array<String>) { |
fun main(args: Array<String>) { |
||
for |
for(i in 0..15) |
||
println(Catalan.catI(i).toLong()) |
println( "[%9d %9d %9d]".format(Catalan.catI(i).toLong(), Catalan.catR1(i).toLong(), Catalan.catR2(i).toLong())) |
||
println(Catalan.catR1(i).toLong()) |
|||
println(Catalan.catR2(i).toLong()) |
|||
} |
|||
}</lang> |
}</lang> |
||
{{out}} |
|||
<pre>[ 1 1 1] |
|||
[ 1 1 1] |
|||
[ 2 2 2] |
|||
[ 5 5 5] |
|||
[ 14 14 14] |
|||
[ 42 42 42] |
|||
[ 132 132 132] |
|||
[ 429 429 429] |
|||
[ 1430 1430 1430] |
|||
[ 4862 4862 4862] |
|||
[ 16796 16796 16796] |
|||
[ 58786 58786 58786] |
|||
[ 208012 208012 208012] |
|||
[ 742900 742900 742900] |
|||
[ 2674440 2674440 2674440] |
|||
[ 9694845 9694845 9694845]</pre> |
|||
=={{header|Liberty BASIC}}== |
=={{header|Liberty BASIC}}== |