バックグラウンド
私が小学校にいたときは、数学クラスで次のようなゲームをしていました。
すべての子供は大きな輪になって、1から順番に数えます。
ただし、カウント中は次の番号をスキップする必要があります。
- 3の倍数である数字。
- 10進数表現で3を持つ数字。
子供が言うべき最初の15の数字は
1 2 4 5 7 8 10 11 14 16 17 19 20 22 25
誰かが番号を間違えた場合(シーケンスに含まれていない番号を言う場合、または番号をスキップした場合)は、サークルから削除されます。これは、子供が1人だけになるまで続きます。
仕事
あなたはこのゲームが苦手なので、カンニングをすることにします。シーケンスの数を指定すると、シーケンスの次の数を計算するプログラムまたは関数を作成します。
プログラムが入力251まで正しく機能し、アルゴリズムが任意の大きな入力に対して機能する場合、言語のネイティブな数値型を使用して表現できない数値を処理する必要はありません。
入力および出力は、任意の便利なベースを使用できます。
コードを隠す必要があるため、できるだけ短くする必要があります。実際、これはcode-golfであるため、バイト単位の最短コードが優先されます。
テストケース
1 -> 2
2 -> 4
11 -> 14
22 -> 25
29 -> 40
251 -> 254
7
私が演奏したときは常にスキップされていましたが、代わりに次の番号に行くのではなく、何か他のことを言うでしょう。