Simple maths problem.

*a _{n}* is defined as 1 + (1/

*S _{n}* is defined as

So we're gonna calculate *S _{15}*, and we're gonna use object-oriented programming because I'm me.

use v5.16; package Local::App { use Zydeco; use List::Util 'sum'; class Calc { method a ( PositiveInt $n ) = 1 + (1/$n); method S ( PositiveInt $n ) = sum( map $self->a($_), 1 .. $n ) +; } } my $calc = Local::App->new_calc; say $calc->S(15);

Or, using rational numbers:

use v5.16; package Local::App { use Zydeco; use List::Util 'sum'; class Calc { method r ( $n ) = 1/$n; method a ( PositiveInt $n ) = 1 + $self->r($n); method S ( PositiveInt $n ) = sum( map $self->a($_), 1 .. $n ) +; class +Rational { use Math::BigRat; method r ( $n ) = Math::BigRat->new("1/$n"); } } } my $calc = Local::App->new_calc_rational; say $calc->S(15);

*In reply to* **Solving a maths problem with Perl**
*by* **tobyink**

- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr

For: |
Use: |
||

& | & | ||

< | < | ||

> | > | ||

[ | [ | ||

] | ] |