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