- ベストアンサー
prologについての質問です。
課題で、リストXのなかにある要素 Yの個数を数える述語 allcount(X,Y,N)を定義しなさい。 というものが出ましたが、参考になるような本も、webページも見つけられませんでした。 どういったように定義すればよいでしょうか? ?- allcount([1,2,[1,2],1], 1, N). の答えが N=3 となればよいらしいです。
- みんなの回答 (2)
- 専門家の回答
関連するQ&A
- Prologの単一化について
(1)p([X|Y]) と p([a]) (2)p(a, [b, c], X) と p(Y1, [Y2|Y3], Y3) (3)?-p([a, b, c], X). p([X|Y], N) :- p(Y, N1), N is N1+1 . (4)?-p([a, b, c], [d, e], X) . p([X|A], B, [X|C]) :- p(A, B, C). (5)?-p([a, b, c], [], X). p([X|R], Y, Z) :- p(R, [X|Y], Z) の述語についてですが、それぞれ単一化すると各変数はどうなるでしょうか。 (3)~(5)については、質問と規則の頭部との単一化です。 どの変数も単一化の前に値を持っていないとします。 教えてください。
- 締切済み
- その他(プログラミング・開発)
- Prologについて教えてください!
リストLにおいて二つの項XとYがこの順番に隣接しているとき真となる関係nextto(X,Y,L)を定義しなさい。 ?-nextto(a,b,[a,b,c]). true ?-nextto(a,c,[a,b,c]). この問題の答えを教えてください。
- ベストアンサー
- その他(プログラミング・開発)
- prologについて
emacsというソフトでprologについて勉強しているんですが、 times,plus,exp,mod を定義してから動作の確認をしたいのです。 (<- - (times 0 ?x 0)) (<- (times (s ?x) ?y ?z) (times ?x ?y ?xy) (plus ?xy ?y ?z)) (<- - (exp (s ?n) 0 0)) (<- (exp 0 (s ?x) (s 0))) (<- (exp (s ?n) ?x ?y) (exp ?n ?x ?z) (times ?z ?x ?y)) (<- - (mod ?x ?y ?x) (< ?x ?y)) (<- (mod ?x ?y ?z) (plus ?x1 ?y ?x) (mod ?x1 ?y ?z)) と定義したのですが、確認をするときにどのように確認したらよいのか教えて頂けますでしょうか?
- 締切済み
- その他(プログラミング・開発)
- mathmaticaについて詳しい方に助けを借りたいです。
以下の問題の精密解答が欲しいです…。 自分でやっても、エラーばかりで、どこが間違っているのかがよくわからないので、誰か助けてください! 1問だけでも解答が頂けると助かります。 1.0≦x≦n,0≦y≦nの範囲の格子点(x,y)でxが奇数でy<x^2をみたすもの全体のリストg(n)を求める関数gをMathmaticaによって定義せよ。 2.x[0]=0.1,x[n+1]=2.5(1-x[n])x[n]によって数列x[n]を定義する。初期値a(=x[k])からはじめて、|x[n+1]-x[n]|が許容誤差eps未満になるまで繰り返しx[k],x[k+1],...を求め、|x[n+1]-x[n]|<epsを満たす最初のx[n]を求める関数ff(関数適用はff(a,eps))をMathmaticaによって定義せよ。 3.与えられた整数のリストxsに対して、はじめに、負の要素が並び、つぎに3で割った余りが1のxsの要素が並び、最後にそれ以外のxsの要素が並んだリストを返す関数hをMathmaticaによって定義せよ。
- 締切済み
- 数学・算数
- 数列の質問です。
nを自然数とする。 2つの放物線y=x^2+n^2 とy=2x^2 で囲まれた領域をSとし、Sは周を含むとする。 次の各問に答えよ。 i)) kを整数とする。 Sに含まれm直線x=kの上にある格子点の個数をn、kを使って表せ。 ii))Sに含まれる格子点の個数をnの式で表せ。 iのほうなのですが、放物線とx=kが交わるところをひいて、 (k^2+n^2)ー2k^2 となるのはいいのですが、これに (k^2+n^2)ー2k^2+1と1を加えてあるのですが、この1はどの点なのでしょうか。 ii Σ(n、k=1) n^2ーk^2+1 なのかと思ったのですが、 n^2+1+2Σ(n^2ーk^2+1) となっていました。 このようになるのはなぜでしょうか。 解説お願いします。
- ベストアンサー
- 数学・算数
- 計算をできるだけしない解答を教えてください
|x|+|y|+|z|<=n となる3つの整数の組(x、y、z)の個数を求めよ。 ただし|x|+|y|<=n となる2つの整数の組(x、y)の個数=2・n^2+2n+1が成立しているものとします。
- 締切済み
- 数学・算数
- 整数問題の質問です。
y-2z/x=z-3x/2y=y-6X/5zのとき、この式の値を求めよ。 という問題で、私は=kとおいて、分母を消したりしたのですが、全然式がきれいにならず、どう解くべきなのか分かりません!困っています。 あと、 nは自然数とする。x^nをx^2-x-2で割った時の余りを求めよ。 という問題は、二項定理を使うのかとは思いますが、それで解いたら答が全然違いました。答は 2^n-(-1)^nx/3+2^n+2(-1)^n/3でした。 解き方を教えてください!お願いします。
- 締切済み
- 数学・算数
- prolog言語で積分計算
PROLOG計算 prolog言語で積分計算のできるプログラムを作っています。 積分定数Cを表示させるようにしているのですが 、3*x^3の積分の結果が 3* (x^2/2+c)+cとなってしまいます。 ()内のcを消すにはどーしたらよいでしょうか? プログラムは以下のように書きました。 t(x,x^2/2+c). t(Y ,Y*x+c) :- integer(Y). t(Y+Z,TY+TZ+c):- t(Y,TY),t(Z,TZ). t(Z*Y,Z*TY+c) :- integer(Z),t(Y,TY). t(Y^N ,(1/N)*Y^N1*TY+c):-integer(N),N1 is N+1,t(Y,TY). t(Y-Z,TY-TZ+c):-t(Y,TY),t(Z,TZ).
- 締切済み
- その他(プログラミング・開発)
- 0の0乗は0、にしたくない
再び帰ってきました。 迷惑と感じる人は、スルーしてください。 Wikipediaでの議論について、気になったことを質問します。 参考:0の0乗のノート 質問は、以下のことです。 総乗:Π[n=1,y]x_n これの帰納的な定義が、x_n=xならば、x^yの定義と同じに思えます。 p_1 = x_1 p_n+1 = p_n * x_n+1 (+1は添字) そして、ΠΦ=1と記述されています。p_0に相当します。 p_0 = 1 つまり、x_n=0,y=0とすれば、総乗で0^0に相当する値は1です。 ほぼ同じ定義に対して、一方では未定義とし、もう一方では1であるとしています。 この違いは、どこからくるのでしょうか? 理由の一つは、x^yに連続性がないためであることは分かるのですが、定義が同じなら、結果にも同じことを期待するのではないですか? なお、0^0=0を否定するネタとして考えているので、0^0=1を主張する意図はありません。 0^0は未定義か1であり、状況や利便性で使い分ければ良いと考えています。
- ベストアンサー
- 数学・算数