47 lines
1.2 KiB
Markdown
47 lines
1.2 KiB
Markdown
![]() |
---
|
||
|
id: 5900f4141000cf542c50ff26
|
||
|
title: '問題 167: ウラム数列を調べ上げる'
|
||
|
challengeType: 5
|
||
|
forumTopicId: 301801
|
||
|
dashedName: problem-167-investigating-ulam-sequences
|
||
|
---
|
||
|
|
||
|
# --description--
|
||
|
|
||
|
正の整数 $a$ と $b$ について、ウラム数列 $U (a,b)$ は ${U{(a,b)}\_1} = a$, ${U{(a,b)}\_2} = b$ と定義されます。$k > 2$ のとき、${U{(a,b)}\_k}$ は、$U(a,b)$ の相異なる前の 2 つの要素の値の和としてちょうど 1 通りで表せるような、${U{(a,b)}\_{(k-1)}}$ より大きい最小の整数です。
|
||
|
|
||
|
例えば、数列 $U(1,2)$ は次のように始まります。
|
||
|
|
||
|
$$1, 2, 3 = 1 + 2, 4 = 1 + 3, 6 = 2 + 4, 8 = 2 + 6, 11 = 3 + 8$$
|
||
|
|
||
|
5 はこれに含まれません。$5 = 1 + 4 = 2 + 3$ であり、前の 2 つの要素の和として 2 通りで表せるからです。$7 = 1 + 6 = 3 + 4$ も同じことです。
|
||
|
|
||
|
$2 ≤ n ≤ 10$, $k = {10}^{11} のとき、$\sum {U(2, 2n + 1)_k}$ を求めなさい。
|
||
|
|
||
|
# --hints--
|
||
|
|
||
|
`ulamSequences()` は `3916160068885` を返す必要があります。
|
||
|
|
||
|
```js
|
||
|
assert.strictEqual(ulamSequences(), 3916160068885);
|
||
|
```
|
||
|
|
||
|
# --seed--
|
||
|
|
||
|
## --seed-contents--
|
||
|
|
||
|
```js
|
||
|
function ulamSequences() {
|
||
|
|
||
|
return true;
|
||
|
}
|
||
|
|
||
|
ulamSequences();
|
||
|
```
|
||
|
|
||
|
# --solutions--
|
||
|
|
||
|
```js
|
||
|
// solution required
|
||
|
```
|