2018-09-30 23:01:58 +01:00
|
|
|
|
---
|
|
|
|
|
id: 5900f4b71000cf542c50ffc9
|
2018-10-20 21:02:47 +03:00
|
|
|
|
title: 'Problem 330: Euler''s Number'
|
2020-11-27 19:02:05 +01:00
|
|
|
|
challengeType: 5
|
2019-08-05 09:17:33 -07:00
|
|
|
|
forumTopicId: 301988
|
2021-01-13 03:31:00 +01:00
|
|
|
|
dashedName: problem-330-eulers-number
|
2018-09-30 23:01:58 +01:00
|
|
|
|
---
|
|
|
|
|
|
2020-11-27 19:02:05 +01:00
|
|
|
|
# --description--
|
2018-09-30 23:01:58 +01:00
|
|
|
|
|
2021-07-29 20:59:06 +02:00
|
|
|
|
An infinite sequence of real numbers $a(n)$ is defined for all integers $n$ as follows:
|
2020-11-27 19:02:05 +01:00
|
|
|
|
|
2021-07-29 20:59:06 +02:00
|
|
|
|
$$ a(n) =
|
|
|
|
|
\begin{cases}
|
|
|
|
|
1 & n < 0 \\\\
|
|
|
|
|
\displaystyle \sum_{i = 1}^{\infty} \frac{a(n - 1)}{i!} & n \ge 0
|
|
|
|
|
\end{cases}
|
|
|
|
|
$$
|
2018-09-30 23:01:58 +01:00
|
|
|
|
|
2021-07-29 20:59:06 +02:00
|
|
|
|
For example,
|
2018-09-30 23:01:58 +01:00
|
|
|
|
|
2021-07-29 20:59:06 +02:00
|
|
|
|
$$\begin{align}
|
|
|
|
|
& a(0) = \frac{1}{1!} + \frac{1}{2!} + \frac{1}{3!} + \ldots = e − 1 \\\\
|
|
|
|
|
& a(1) = \frac{e − 1}{1!} + \frac{1}{2!} + \frac{1}{3!} + \ldots = 2e − 3 \\\\
|
|
|
|
|
& a(2) = \frac{2e − 3}{1!} + \frac{e − 1}{2!} + \frac{1}{3!} + \ldots = \frac{7}{2} e − 6
|
|
|
|
|
\end{align}$$
|
2018-09-30 23:01:58 +01:00
|
|
|
|
|
2021-07-29 20:59:06 +02:00
|
|
|
|
with $e = 2.7182818\ldots$ being Euler's constant.
|
2018-09-30 23:01:58 +01:00
|
|
|
|
|
2021-07-29 20:59:06 +02:00
|
|
|
|
It can be shown that $a(n)$ is of the form $\displaystyle\frac{A(n)e + B(n)}{n!}$ for integers $A(n)$ and $B(n)$.
|
2018-09-30 23:01:58 +01:00
|
|
|
|
|
2021-07-29 20:59:06 +02:00
|
|
|
|
For example $\displaystyle a(10) = \frac{328161643e − 652694486}{10!}$.
|
2018-09-30 23:01:58 +01:00
|
|
|
|
|
2021-07-29 20:59:06 +02:00
|
|
|
|
Find $A({10}^9)$ + $B({10}^9)$ and give your answer $\bmod 77\\,777\\,777$.
|
2018-09-30 23:01:58 +01:00
|
|
|
|
|
2020-11-27 19:02:05 +01:00
|
|
|
|
# --hints--
|
2018-09-30 23:01:58 +01:00
|
|
|
|
|
2021-07-29 20:59:06 +02:00
|
|
|
|
`eulersNumber()` should return `15955822`.
|
2018-09-30 23:01:58 +01:00
|
|
|
|
|
2020-11-27 19:02:05 +01:00
|
|
|
|
```js
|
2021-07-29 20:59:06 +02:00
|
|
|
|
assert.strictEqual(eulersNumber(), 15955822);
|
2018-09-30 23:01:58 +01:00
|
|
|
|
```
|
|
|
|
|
|
2020-11-27 19:02:05 +01:00
|
|
|
|
# --seed--
|
2018-09-30 23:01:58 +01:00
|
|
|
|
|
2020-11-27 19:02:05 +01:00
|
|
|
|
## --seed-contents--
|
2018-09-30 23:01:58 +01:00
|
|
|
|
|
|
|
|
|
```js
|
2021-07-29 20:59:06 +02:00
|
|
|
|
function eulersNumber() {
|
2020-09-15 09:57:40 -07:00
|
|
|
|
|
2018-09-30 23:01:58 +01:00
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
|
2021-07-29 20:59:06 +02:00
|
|
|
|
eulersNumber();
|
2018-09-30 23:01:58 +01:00
|
|
|
|
```
|
|
|
|
|
|
2020-11-27 19:02:05 +01:00
|
|
|
|
# --solutions--
|
2018-09-30 23:01:58 +01:00
|
|
|
|
|
|
|
|
|
```js
|
|
|
|
|
// solution required
|
|
|
|
|
```
|