問題タブ [prolog]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
prolog - プロローグ統一決議
なぜこれが機能するのですか:
そして、これはスタックオーバーフローの例外を与えますか?
tree - プロローグでツリーアルゴリズムの末尾再帰を実装する方法
以下を末尾再帰バージョンに変換するにはどうすればよいですか。
分岐は 2^n の大きさであるため、単一のアキュムレータを維持することは不可能のようです。
考えられる解決策は、反復ごとにアキュムレータに新しいアキュムレータをリストに追加させることです。多分上記の解決策は最適ですか?
前もって感謝します。
list - プロローグリスト差分ルーチン
プロローグでリスト差分ルーチンを実装しようとしています。何らかの理由で、以下が失敗します。
しようとすると:
次のエラーが表示されます。
prolog - プロローグはvs =リストあり
なぜこれは失敗しL is [1,2,3,4]
、これはうまくいくのですL = [1,2,3]
か?
しかしL is 1
、L = 1
両方とも同じように機能します。
prolog - X、Y を (1,2)、(1,-2)、(-1,2)、(-1,-2)、(2,1)、(2,-1) で統一するエレガントな方法は何ですか? , (-2,1), (-2,-1)?
X、Y を (1,2)、(1,-2)、(-1,2)、(-1,-2)、(2,1)、(2,-1) で統一するエレガントな方法は何ですか? , (-2,1), (-2,-1)?
このようにすると、エラーが発生しやすく、退屈に思えます。
そして、この方法は高すぎるようです:
list - 結果のリストをSWI-Prologで展開するにはどうすればよいですか?
長さ述語の後にwrite(L)を使用すると、インタープリターはリストを2回出力し、1つは展開され、もう1つは展開されません。
prolog - プロローグ "is" 関数の問題
私は理解できないプロローグに問題があります。トレーサーを使用して問題を追跡しましたが、これが起こります
「Pが低い」というコールの何が問題になっていますか?
computer-science - 二分木同型
とりわけ、2 つのバイナリ ツリーが互いに同型であるかどうかを判断する一連のプロローグ述語を作成する割り当てがあります。また、述語は、すべての同型グラフを任意のバイナリ ツリーに提供できなければなりません。
これが私がこれまでに持っているものです。重複を返すことを除いて機能します。
期待される出力:
私の出力
明らかに、これらはすべて繰り返しです。カットを配置する適切な場所が見つからないように見えるため、述語は重複を返しません。また、リーフが 1 つしかないノードと、もう 1 つのノードに対して、他の 2 つの述語を書き込もうとしましたが、役に立たなかったようです。
重複を止める方法について何かアドバイスはありますか?
prolog - 1 から 100 までの完全数を見つける
1 から 100 までの完全数をすべて生成するにはどうすればよいですか?
完全数は、その固有約数の合計に等しい正の整数です。たとえば、6(=1+2+3) は完全数です。