0
A
答えて
3
あなたが望む結果を記述しようとすることから始めましょう。 List
をStart
とEnd
に分割し、Start
の長さをLength
にする必要があります。注意点としては
split(List, Length, Start, End) :-
length(Start, Length),
append(Start, End, List).
、length
とappend
の順序は、効率の違いを生むだろう。 append
が最初に置かれた場合、appendはList
の最初のゼロ要素でStart
を統一し、長さチェックで失敗し、最初の要素、次に最初の2つ、3つの順にStart
を統合します接頭語はList
で、長さはLength
です。これらの明らかなデッドエンドをすべて回避するには、まずlength
を目標に設定します。これにより、正しいサイズのリストが表示されます。
関連する問題
- 1. ラケット、与えられた数のリストにリストを分割する
- 2. 与えられた長さの2つの整数のPythonパーミュテーション
- 3. 与えられたリストから2つのリストを作る
- 4. 与えられたネットワークを4つのサブネットに分割する
- 5. Python - 与えられた値から始まって与えられた長さでリストを作成する
- 6. Scheme - 与えられた2つのリストからペアのリストを返します。
- 7. 2つのデータリストを与えられたmathematicaの数値積分
- 8. Haskellの行のリストとして与えられた行列の最初の列
- 9. Python:与えられた2つの整数で割り切れる
- 10. リストの最良解で与えられた数のカウントオカレンスを見つける
- 11. pandas - 2つのデータフレームが与えられた場合、差分を取り除く
- 12. 与えられた長さのリストを作成する - ヒストグラムを値のリストに変換する
- 13. 与えられた2つの日付に基づいて日付を分割する方法
- 14. C:Cにリストを与えられたリスト
- 15. 与えられた週の最初の日付(NSDate)
- 16. この役割を与えられた任意の一つは過去の試験で与えられた
- 17. 与えられた2つの時間に基づいて時間の長さを計算する
- 18. 与えられたリストのanagramsを見つける方法
- 19. 与えられたルールで2つのテーブルをマージする
- 20. 最初のリストの最後の2つの要素= 2番目のリストの最初の2つの要素 - プロローグ
- 21. 与えられた長さのデフォルトのヌル値で配列を初期化するためのLodash /アンダースコア関数
- 22. 与えられた数字の集合に数字を分割する
- 23. LINQのクエリ与えられたリスト
- 24. 分割された配列の最初の文字は
- 25. 与えられた月の最初の就業日をSQLで計算する
- 26. MySQL与えられた2つの値の中の最小値/最大値を選択してください。
- 27. Python:数値、リストの長さ、最初と最後の数字を与える与えられた数字の部分の組み合わせを計算する方法
- 28. 長さ1,2,4,8のリストの分割リスト。プロローグを使用
- 29. Pythonで与えられた文字列の最長アルファベット部分文字列を出力する方法は?
- 30. 与えられた分布を持つ無限イテレータの作成
使用長さ/ 2と追加/ 3 – CapelliC
エレガント! (私は前のコメントを参照してください)。再帰的な解法は問題ありませんが、長さと添え字を使う方が簡単です。 –