Engel expansion: Difference between revisions
Content added Content deleted
m (→{{header|J}}) |
Thundergnat (talk | contribs) m (→{{header|Raku}}: remove some intermediate variables, slightly more compact) |
||
Line 95: | Line 95: | ||
=={{header|Raku}}== |
=={{header|Raku}}== |
||
<lang perl6>sub to-engel ( |
<lang perl6>sub to-engel ($rat is copy) { do while $rat { my $a = ceiling 1 / $rat; $rat = $rat × $a - 1; $a } } |
||
my $u = $rat; |
|||
do while $u { my $a = ceiling 1 / $u; $u = $u × $a - 1; $a } |
|||
} |
|||
sub from-engel (@expanded) { sum [\×] @expanded.map: { FatRat.new: 1, $_ } } |
sub from-engel (@expanded) { sum [\×] @expanded.map: { FatRat.new: 1, $_ } } |
||
⚫ | |||
for flat |
|||
⚫ | |||
3.14159265358979, 2.71828182845904, 1.414213562373095, 1.5 ** 5, |
3.14159265358979, 2.71828182845904, 1.414213562373095, 1.5 ** 5, |
||