1
私はプロローグを初めて使い、長さ2^1、2^2、2^3のリストに分割リストを書く必要があります。 .. 2^nなので、たとえば[1,2,3,4,5,6,7,8,9]があれば[[1]、[2,3]、[4,5、 6,7]、[8,9]]私はHaskellでそれを解決したが、このソリューションが続くと(心の中で効率的に書かれていないから学ぶことは簡単であるべきプロローグ長さ1,2,4,8のリストの分割リスト。プロローグを使用
blocks :: Int -> [a] -> [[a]]
blocks _ [] = []
blocks n ls = la : blocks (2*n) lb
where ~(la,lb) = splitAt n ls
私はプロローグを知りませんが、何か試しましたか? SOに協力している人々は、「これが問題です」または「これが私がやろうとしていることです」という詳細を提供していなければ、そうすることを躊躇しています。 – Adam
@Adam、私はハスケルでこの作業を書いたが、プロローグでコードを変換する方法がわからない –
Prologの教科書やチュートリアルを掘り下げ、基礎を習得してから何かを試してみる特定の質問。 – lurker