Recamánのシーケンス(A005132)は、次のように定義される数学的シーケンスです。
A(0) = 0
A(n) = A(n-1) - n if A(n-1) - n > 0 and is new, else
A(n) = A(n-1) + n
上記のかわいいLaTexバージョン(読みやすいかもしれません):
最初のいくつかの用語は 0, 1, 3, 6, 2, 7, 13, 20, 12, 21, 11
明確にis new
するために、番号が既にシーケンスにあるかどうかを意味します。
n
関数引数またはSTDINを介して整数を指定するn
と、Recamánシーケンスの最初の項を返します。
これはコードとゴルフの挑戦なので、最短のコードが勝ちます。