67 lines
1.5 KiB
Markdown
67 lines
1.5 KiB
Markdown
---
|
|
id: 5900f3911000cf542c50fea4
|
|
title: '問題 37: 切り詰め可能な素数'
|
|
challengeType: 5
|
|
forumTopicId: 302031
|
|
dashedName: problem-37-truncatable-primes
|
|
---
|
|
|
|
# --description--
|
|
|
|
3797 という数には興味深い性質があります。 その数自体が素数であり、左から右へ 1 桁ずつ消していくと、いずれの段階でも素数のままです (3797, 797, 97, 7)。 右から左へ桁を消しても同じことが起こります (3797, 379, 37, 3)。
|
|
|
|
左から右、および右から左へ切り詰めても素数のままである、`n` (8 ≤ `n` ≤ 11) 個しかない素数の和を求めなさい。
|
|
|
|
注: 2, 3, 5, 7 は切り詰め可能な素数とはみなされません。
|
|
|
|
# --hints--
|
|
|
|
`truncatablePrimes(8)` は数値を返す必要があります。
|
|
|
|
```js
|
|
assert(typeof truncatablePrimes(8) === 'number');
|
|
```
|
|
|
|
`truncatablePrimes(8)` は 1986 を返す必要があります。
|
|
|
|
```js
|
|
assert(truncatablePrimes(8) == 1986);
|
|
```
|
|
|
|
`truncatablePrimes(9)` は 5123 を返す必要があります。
|
|
|
|
```js
|
|
assert(truncatablePrimes(9) == 5123);
|
|
```
|
|
|
|
`truncatablePrimes(10)` は 8920 を返す必要があります。
|
|
|
|
```js
|
|
assert(truncatablePrimes(10) == 8920);
|
|
```
|
|
|
|
`truncatablePrimes(11)` は 748317 を返す必要があります。
|
|
|
|
```js
|
|
assert(truncatablePrimes(11) == 748317);
|
|
```
|
|
|
|
# --seed--
|
|
|
|
## --seed-contents--
|
|
|
|
```js
|
|
function truncatablePrimes(n) {
|
|
|
|
return n;
|
|
}
|
|
|
|
truncatablePrimes(11);
|
|
```
|
|
|
|
# --solutions--
|
|
|
|
```js
|
|
// solution required
|
|
```
|