F#、25バイト
Seq.fold(fun s n->s+n-1)1
これは、整数の配列/リスト/シーケンスを受け取り、必要な結果を返す関数です。
使い方:
Seq.foldシーケンスのすべての要素に関数を適用し、その間に何らかの状態を保持することができます。最初の要素に適用された関数の結果は、2番目の要素の関数に設定される状態を示します。たとえば、リストを要約するには[1; 3; 4; 10]、次のように記述します。
Seq.fold (fun sum element -> sum + element) 0 [1; 3; 4; 10]
( function to apply ) ^ (sequence to process)
( initial state )
次のように適用されます:
// First, initial state + first element
0 + 1 = 1
// Then, previous state + next element until the end of the sequence
1 + 3 = 4
4 + 4 = 8
8 + 10 = 18
最後の状態はの戻り値ですSeq.fold。