Triangular numbers: Difference between revisions

julia example
m (Add another test value)
(julia example)
Line 72:
;* [[Evaluate_binomial_coefficients|Related task: Evaluate binomial coefficients]]
;* [[Pascal's_triangle|Related task: Pascal's triangle]]
 
 
=={{header|Julia}}==
{{trans|Raku}}
<syntaxhighlight lang="julia">""" rosettacode.org task Triangular_numbers """
 
 
polytopic(r, range) = map(n -> binomial(n + r - 1, r), range)
 
triangular_root(x) = (sqrt(8x + 1) - 1) / 2
 
function tetrahedral_root(x)
return Float64(round((3x + sqrt(9 * big(x)^2 - 1/27))^(1/3) +
(3x - sqrt(9 * big(x)^2 - 1/27))^(1/3) - 1, digits=11))
end
 
pentatopic_root(x) = (sqrt(5 + 4 * sqrt(24x + 1)) - 3) / 2
 
function valuelisting(a, N=6)
c = maximum(length, string.(a)) + 1
return join([join([lpad(x, c) for x in v]) for v in Iterators.partition(a, N)], "\n")
end
 
for (r, name) in [[2, "triangular"], [3, "tetrahedral"], [4, "pentatopic"], [12, "12-simplex"]]
println("\nFirst 30 $name numbers:\n", valuelisting(polytopic(r, 0:29)))
end
 
for n in [7140, 21408696, 26728085384, 14545501785001]
println("\nRoots of $n:")
println(" triangular-root: ", triangular_root(n))
println(" tetrahedral-root: ", tetrahedral_root(n))
println(" pentatopic-root: ", pentatopic_root(n))
end
</syntaxhighlight>{{out}}
<pre>
First 30 triangular numbers:
0 1 3 6 10 15
21 28 36 45 55 66
78 91 105 120 136 153
171 190 210 231 253 276
300 325 351 378 406 435
 
First 30 tetrahedral numbers:
0 1 4 10 20 35
56 84 120 165 220 286
364 455 560 680 816 969
1140 1330 1540 1771 2024 2300
2600 2925 3276 3654 4060 4495
 
First 30 pentatopic numbers:
0 1 5 15 35 70
126 210 330 495 715 1001
1365 1820 2380 3060 3876 4845
5985 7315 8855 10626 12650 14950
17550 20475 23751 27405 31465 35960
 
First 30 12-simplex numbers:
0 1 13 91 455 1820
6188 18564 50388 125970 293930 646646
1352078 2704156 5200300 9657700 17383860 30421755
51895935 86493225 141120525 225792840 354817320 548354040
834451800 1251677700 1852482996 2707475148 3910797436 5586853480
 
Roots of 7140:
triangular-root: 119.0
tetrahedral-root: 34.0
pentatopic-root: 18.876646615928006
 
Roots of 21408696:
triangular-root: 6543.0
tetrahedral-root: 503.56182697464
pentatopic-root: 149.06094737526587
 
Roots of 26728085384:
triangular-root: 231205.40556525585
tetrahedral-root: 5432.0
pentatopic-root: 893.4424567516849
 
Roots of 14545501785001:
triangular-root: 5.3936071581451725e6
tetrahedral-root: 44355.77738407323
pentatopic-root: 4321.0
</pre>
 
=={{header|Raku}}==
4,102

edits