Engel expansion: Difference between revisions

Content added Content deleted
m (→‎{{header|J}}: more idomatic J)
m (→‎{{header|Perl}}: count of terms in expansion)
Line 197: Line 197:
say "Rational number: " . abbr $rat->as_float($p);
say "Rational number: " . abbr $rat->as_float($p);
my $terms = join ' ', my @expanded = to_engel $rat;
my $terms = join ' ', my @expanded = to_engel $rat;
say "Engel expansion: " . (length($terms) > 100 ? $terms =~ s/^(.{90}\S*).*$/$1/r . '...' : $terms);
say "Engel expansion: " . (length($terms) > 100 ? $terms =~ s/^(.{90}\S*).*$/$1/r . '... (' . +@expanded . ' terms)' : $terms);
say " Converted back: " . abbr from_engel(@expanded)->as_float($p);
say " Converted back: " . abbr from_engel(@expanded)->as_float($p);
say '';
say '';
Line 223: Line 223:


Rational number: 3.1415926535897932384626433832..081284811174502841027019385211 (177 digits)
Rational number: 3.1415926535897932384626433832..081284811174502841027019385211 (177 digits)
Engel expansion: 1 1 1 8 8 17 19 300 1991 2492 7236 10586 34588 63403 70637 1236467 5417668 5515697 5633167...
Engel expansion: 1 1 1 8 8 17 19 300 1991 2492 7236 10586 34588 63403 70637 1236467 5417668 5515697 5633167... (231 terms)
Converted back: 3.1415926535897932384626433832..081284811174502841027019385211 (177 digits)
Converted back: 3.1415926535897932384626433832..081284811174502841027019385211 (177 digits)


Rational number: 2.7182818284590452353602874713..035354759457138217852516642743 (103 digits)
Rational number: 2.7182818284590452353602874713..035354759457138217852516642743 (103 digits)
Engel expansion: 1 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33...
Engel expansion: 1 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33... (150 terms)
Converted back: 2.7182818284590452353602874713..035354759457138217852516642743 (103 digits)
Converted back: 2.7182818284590452353602874713..035354759457138217852516642743 (103 digits)


Rational number: 1.4142135623730950488016887242..999358314132226659275055927558 (180 digits)
Rational number: 1.4142135623730950488016887242..999358314132226659275055927558 (180 digits)
Engel expansion: 1 3 5 5 16 18 78 102 120 144 251 363 1402 31169 88630 184655 259252 298770 4196070 38538874...
Engel expansion: 1 3 5 5 16 18 78 102 120 144 251 363 1402 31169 88630 184655 259252 298770 4196070 38538874... (185 terms)
Converted back: 1.4142135623730950488016887242..999358314132226659275055927558 (180 digits)</pre>
Converted back: 1.4142135623730950488016887242..999358314132226659275055927558 (180 digits)</pre>