diff options
| -rwxr-xr-x | challenge-021/ruben-westerberg/perl5/ch-1.pl | 18 | ||||
| -rwxr-xr-x | challenge-021/ruben-westerberg/perl6/ch-1.p6 | 11 |
2 files changed, 29 insertions, 0 deletions
diff --git a/challenge-021/ruben-westerberg/perl5/ch-1.pl b/challenge-021/ruben-westerberg/perl5/ch-1.pl new file mode 100755 index 0000000000..4af2eb221f --- /dev/null +++ b/challenge-021/ruben-westerberg/perl5/ch-1.pl @@ -0,0 +1,18 @@ +#!/usr/bin/env perl + +use strict; +use warnings; +use v5.26; +use bignum (a=>100); +#use Math::BigRat; +#compute Euler's number to the nth term +# +my $degree=$ARGV[0]//10; +my $i=1; +my $sum=1;#Math::BigRat->new(1/1); +while ($i <= $degree ) { + state $fac=1; + $sum+=1/($fac*=$i++); +} +#printf "Eulers constant to $degree terms:\n%s\n",$sum->as_float(100); +printf "Eulers constant to $degree terms:\n%s\n",$sum; diff --git a/challenge-021/ruben-westerberg/perl6/ch-1.p6 b/challenge-021/ruben-westerberg/perl6/ch-1.p6 new file mode 100755 index 0000000000..b4b3ff5950 --- /dev/null +++ b/challenge-021/ruben-westerberg/perl6/ch-1.p6 @@ -0,0 +1,11 @@ +#!/usr/bin/env perl6 +#Compute Eulers number to the nth term +# +my $degree=@*ARGS[0]//10; +my $i=1; +my $sum=FatRat.new(1); +while ($i <= $degree ) { + state $fac=FatRat.new(1); + $sum+=1/($fac*=$i++); +} +put "Eulers constant to $degree terms:\n%s\n", $sum.base-repeating(10).join(""); |
