Triangular numbers: Difference between revisions
Content added Content deleted
Thundergnat (talk | contribs) m (Add another test value) |
(julia example) |
||
Line 72: | Line 72: | ||
;* [[Evaluate_binomial_coefficients|Related task: Evaluate binomial coefficients]] |
;* [[Evaluate_binomial_coefficients|Related task: Evaluate binomial coefficients]] |
||
;* [[Pascal's_triangle|Related task: Pascal's triangle]] |
;* [[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}}== |
=={{header|Raku}}== |