ページに戻る
-#start+ #start Ackernann関数 #?anch -e -**** 内容が未設定のページです-ブラウザの「戻る」で前のページに戻ってください。-または[[編集|EDIT]]のリンクをクリックして内容を入力してください。+ package main + import "fmt" + + func main() { + fmt.Printf("ack(3,9): %d \n",ack(3,9)); + } + + func ack(m, n int) int { + switch { + case m == 0: return n+1; + case n == 0: return ack(m-1, 1); + } + return ack(m-1, ack(m, n-1)); + } + |< + -default: return ack(m-1, ack(m, n-1)); と書くと「returnがない」と叱られる。 + >| #end