tail-recursion

    0

    1答えて

    私のユースケースは、より複雑ですが、基本的に以下の私が達成しようとしているかの簡単な例である(私の元のコードは、アッカ・ストリームのためです): offset := 0 //pump data def pump(): Unit = { elem := poller.getNumberFromOffset(offset) elem match { case n

    1

    1答えて

    テール再帰によってカードのリストにCardの量を取得する必要があります。これまで amountCard :: Int -> Card -> [Card] -> Int 私の試み: amountCard n c [] = n amountCard n k (x:xs) = if k == x then amountCard (n+1) k xs else amountCard n k xs

    0

    2答えて

    私はSBCL(Linux上)に問題があります。これは末尾の再帰に関係している可能性があります。今回はコードを追加しています(長く見えますが、それはすべてを伸ばすためです)。 私は、2つの構造を比較する 'compare-pstructs'関数を持っています。ただし、構造体はコンポーネントと同じ構造体のリストを持つことがあります。当然ながら、これは再帰的な解決策を求めている。 上記の関数がこれらのp

    0

    1答えて

    は私が再発を使用するhttps://github.com/lspector/gp/blob/master/src/gp/evolvefn_zip.clj からのコードのこの部分を書き換えるしようとしています: (defn random-code [depth] (if (or (zero? depth) (zero? (rand-int 2))) (random-

    7

    1答えて

    私はバイナリツリーの末尾の再帰的な折畳み関数を見つけようとしています。以下の定義を考える: def fold[A, B](t: Tree[A])(map: A => B)(red: (B, B) => B): B = t match { case Leaf(v) => map(v) case Branch(l, r) => red(fold(l)(map

    -3

    1答えて

    私は以下の問題を解決しようとしています:与えられたnとαに対して、nが完全なα番目のk個の数字の和として表現できる最小の数kを求めますパワー。 私の最初のアイデアは、長さnのシーケンスを作成し、その後、完全なα乗を持つすべての可能なシーケンスを作成するために再帰を使用することでした。シーケンスを作成した後、シーケンスのすべての数値の合計がnに達したかどうかを確認し、合計の数値がkより小さいかどうか

    1

    1答えて

    以下のコードでは、structListは各keyがテンプレート内の文字列で、valueが置換文字である構造体のリストです。 key上記いずれかでそう %ParamStruct{default: "Greater London", description: "Region", key: "ca_cert_subj_state", label: "State/County", order: 99,

    0

    1答えて

    Hy人、 クイックソートでC++で何か問題があります。並べ替えられた配列(値の増加または減少)の最悪の場合、〜900要素の配列でスタックオーバーフローが発生します。末尾再帰は、私が見つけた解決策だったが、イムはおそらくイム任意の改善をachivingわけではないので、右ここでそれをしない: void quickSort(int *array, int start, int end){ /

    3

    2答えて

    私はテールの再帰的な形で書く機能を持っています。この関数は、の合計を得る方法の数を、sの両面ダイn回を丸めて計算します。私はthis answerでこの関数の数学的解を見てきました。私はthis answerから学んだように私は継続渡しスタイルで再書き込み機能に試してみました sum_ways <- function(n_times, k_sum, s_side) { if (k_sum

    -3

    2答えて

    私は関数met_devant_et_accをテール再帰的なものにしたいと思いますが、どのように書き直すことができるのか分かりません。 met_devant_et_acc l hはリストlのすべてのリストと要素hを持つこれらの同じリストをすべて含むリストを1番目の要素として返すものとします。 exは:met_devant h [ [ ]; ['x';'e']]戻り[ ['h'] ; ['h';'x'