0

(逆再帰が正しい名前かどうかはわかりません..)

k=n で初期値を指定し、k = 0 で終了する再帰関数を定義したい

だから私はこのように書いてみました(ここではn = 10):

let rec f k =
  match k with
  |_ when k > 10 -> 0
  |  10 -> 1
  |_ -> (f n+1)-1

そしてVSがクラッシュしました。誰でも私を助けることができますか?

境界線 - - - - - - - - -

私の質問は次のようなものだと思います。

Consider a sequence with 
a(10) = 1 
a(k) = [a(k+1)*a(k+1)] + 1
a(k) = 0 if (k < 0 or k > 10)

F# でどのように実装できますか?

4

1 に答える 1

1
let rec f k =
  match k with
  |_ when k > 10 || k < 0 -> 0
  | 10 -> 1
  |_ -> f (k+1) * f (k+1) + 1
于 2013-09-15T15:27:36.237 に答える