2018-10-10 18:03:03 -04:00
|
|
|
|
---
|
|
|
|
|
id: 5900f4b71000cf542c50ffc9
|
2022-01-17 20:05:14 +05:30
|
|
|
|
title: '问题 330:欧拉数'
|
2018-10-10 18:03:03 -04:00
|
|
|
|
challengeType: 5
|
2021-02-06 04:42:36 +00:00
|
|
|
|
forumTopicId: 301988
|
2021-01-13 03:31:00 +01:00
|
|
|
|
dashedName: problem-330-eulers-number
|
2018-10-10 18:03:03 -04:00
|
|
|
|
---
|
|
|
|
|
|
2020-12-16 00:37:30 -07:00
|
|
|
|
# --description--
|
2018-10-10 18:03:03 -04:00
|
|
|
|
|
2022-01-17 20:05:14 +05:30
|
|
|
|
对于所有的整数 $n$,一个无限实数序列 $a(n)$ 定义如下:
|
2018-10-10 18:03:03 -04:00
|
|
|
|
|
2022-03-31 22:31:59 +05:30
|
|
|
|
$$ a(n) = \begin{cases} 1 & n < 0 \\\\
|
|
|
|
|
\displaystyle \sum_{i = 1}^{\infty} \frac{a(n - 1)}{i!} & n \ge 0 \end{cases} $$
|
2018-10-10 18:03:03 -04:00
|
|
|
|
|
2022-01-17 20:05:14 +05:30
|
|
|
|
例如,
|
2018-10-10 18:03:03 -04:00
|
|
|
|
|
2022-03-31 22:31:59 +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}$$
|
2018-10-10 18:03:03 -04:00
|
|
|
|
|
2022-01-17 20:05:14 +05:30
|
|
|
|
其中,$e = 2.7182818\ldots$ 是欧拉常数。
|
2018-10-10 18:03:03 -04:00
|
|
|
|
|
2022-01-17 20:05:14 +05:30
|
|
|
|
可以看出,$a(n)$ 可以写成 $\displaystyle\frac{A(n)e + B(n)}{n!}$ 这样的形式,其中 $A(n)$ 和 $B(n)$ 均是整数。
|
2018-10-10 18:03:03 -04:00
|
|
|
|
|
2022-01-17 20:05:14 +05:30
|
|
|
|
例如,$\displaystyle a(10) = \frac{328161643e − 652694486}{10!}$。
|
2021-02-06 04:42:36 +00:00
|
|
|
|
|
2022-01-17 20:05:14 +05:30
|
|
|
|
求解 $A({10}^9)$ + $B({10}^9)$ 并给出答案 $\bmod 77\\,777\\,777$。
|
2018-10-10 18:03:03 -04:00
|
|
|
|
|
2020-12-16 00:37:30 -07:00
|
|
|
|
# --hints--
|
2018-10-10 18:03:03 -04:00
|
|
|
|
|
2022-01-17 20:05:14 +05:30
|
|
|
|
`eulersNumber()` 应该返回 `15955822`。
|
2018-10-10 18:03:03 -04:00
|
|
|
|
|
|
|
|
|
```js
|
2022-01-17 20:05:14 +05:30
|
|
|
|
assert.strictEqual(eulersNumber(), 15955822);
|
2018-10-10 18:03:03 -04:00
|
|
|
|
```
|
2020-08-13 17:24:35 +02:00
|
|
|
|
|
2021-01-13 03:31:00 +01:00
|
|
|
|
# --seed--
|
|
|
|
|
|
|
|
|
|
## --seed-contents--
|
|
|
|
|
|
|
|
|
|
```js
|
2022-01-17 20:05:14 +05:30
|
|
|
|
function eulersNumber() {
|
2021-01-13 03:31:00 +01:00
|
|
|
|
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
|
2022-01-17 20:05:14 +05:30
|
|
|
|
eulersNumber();
|
2021-01-13 03:31:00 +01:00
|
|
|
|
```
|
|
|
|
|
|
2020-12-16 00:37:30 -07:00
|
|
|
|
# --solutions--
|
|
|
|
|
|
2021-01-13 03:31:00 +01:00
|
|
|
|
```js
|
|
|
|
|
// solution required
|
|
|
|
|
```
|