user
|  |
| --- |
| This page uses content from **Wikipedia**. The original article was at Sylvester's sequence. The list of authors can be seen in the page history. As with Rosetta Code, the text of Wikipedia is available under the GNU FDL. (See links for details on variance) |

In number theory, **Sylvester's sequence** is an integer sequence in which each term of the sequence is the product of the previous terms, plus one.

Its values grow doubly exponentially, and the sum of its reciprocals forms a series of unit fractions that converges to **1** more rapidly than any other series of unit fractions with the same number of terms.

Further, the sum of the first **k** terms of the infinite series of reciprocals provides the closest possible underestimate of **1** by any k-term Egyptian fraction.

Task

* Write a routine (function, procedure, generator, whatever) to calculate **Sylvester's sequence**.
* Use that routine to show the values of the first **10** elements in the sequence.
* Show the sum of the reciprocals of the first **10** elements on the sequence, ideally as an exact fraction.

Related tasks

* Egyptian fractions
* Harmonic series

See also

* OEIS A000058 - Sylvester's sequence
assistant
```
my @S = {1 + [*] @S[^($++)]} … *;

put 'First 10 elements of Sylvester\'s sequence: ', @S[^10];

say "\nSum of the reciprocals of first 10 elements: ", sum @S[^10].map: { FatRat.new: 1, $_ };

```

Output:

```
First 10 elements of Sylvester's sequence: 2 3 7 43 1807 3263443 10650056950807 113423713055421844361000443 12864938683278671740537145998360961546653259485195807 165506647324519964198468195444439180017513152706377497841851388766535868639572406808911988131737645185443

Sum of the reciprocals of first 10 elements: 0.9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999635
```