Files
freeCodeCamp/curriculum/challenges/japanese/10-coding-interview-prep/project-euler/problem-112-bouncy-numbers.md
2022-01-20 20:30:18 +01:00

1.3 KiB

id, title, challengeType, forumTopicId, dashedName
id title challengeType forumTopicId dashedName
5900f3dd1000cf542c50feef 問題 112: 弾み数 5 301738 problem-112-bouncy-numbers

--description--

ある数を左から右へ見ていき、すべての数字がその左側の数字を下回らない場合、その数は増加数と呼ばれます。例えば 134468 です。

同様に、すべての数字がその右側の数字を下回らない場合、その数は減少数と呼ばれます。例えば 66420 です。

増加数、減少数のどちらでもない正の整数を「弾み」数と呼ぶことにします。例えば 155349 です。

当然、100 未満には弾み数がありませんが、1000 未満の数の半数強 (525 個) が弾み数です。 実際、弾み数の割合が最初に 50% に達する最小の数は 538 です。

意外にも弾み数の割合は次第に増え、21780 に達する時点で弾み数の割合は 90% に達します。

弾み数の割合がちょうど 99% になる最小の数を求めなさい。

--hints--

bouncyNumbers()1587000 を返す必要があります。

assert.strictEqual(bouncyNumbers(), 1587000);

--seed--

--seed-contents--

function bouncyNumbers() {

  return true;
}

bouncyNumbers();

--solutions--

// solution required