簡體   English   中英

F#中的反向遞歸

[英]reverse recursion in F#

(我不確定反向遞歸是否正確。)

我想定義一個遞歸函數,其初始值為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#中實現它?

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM