55 lines
1.4 KiB
Markdown
55 lines
1.4 KiB
Markdown
---
|
||
id: 5900f4b71000cf542c50ffc9
|
||
title: '問題 330: オイラー数'
|
||
challengeType: 5
|
||
forumTopicId: 301988
|
||
dashedName: problem-330-eulers-number
|
||
---
|
||
|
||
# --description--
|
||
|
||
すべての整数 $n$ について、実数の無限数列 $a(n)$ は次のように定義されます。
|
||
|
||
$$ a(n) = \begin{cases} 1 & n < 0 \\\\
|
||
\displaystyle \sum_{i = 1}^{\infty} \frac{a(n - 1)}{i!} & n \ge 0 \end{cases} $$
|
||
|
||
例えば次のようになります。
|
||
|
||
$$\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}$$
|
||
|
||
ここで、$e = 2.7182818\ldots$ はオイラーの定数です。
|
||
|
||
$a(n)$ は、整数 $A(n)$ と整数 $B(n)$ に対して $\displaystyle\frac{A(n)e + B(n)}{n!}$ の形式であることが分かります。
|
||
|
||
例えば、$\displaystyle a(10) = \frac{328161643e − 652694486}{10!}$ です。
|
||
|
||
$A({10}^9)$ + $B({10}^9)$ を求め、$\bmod 77\\,777\\,777$ で答えなさい。
|
||
|
||
# --hints--
|
||
|
||
`eulersNumber()` は `15955822` を返す必要があります。
|
||
|
||
```js
|
||
assert.strictEqual(eulersNumber(), 15955822);
|
||
```
|
||
|
||
# --seed--
|
||
|
||
## --seed-contents--
|
||
|
||
```js
|
||
function eulersNumber() {
|
||
|
||
return true;
|
||
}
|
||
|
||
eulersNumber();
|
||
```
|
||
|
||
# --solutions--
|
||
|
||
```js
|
||
// solution required
|
||
```
|