このディレクトリの索引

# 出典 :: C/C++の宿題片付けます 135代目 #272 # [1] 授業単元:プログラミング # [2] 問題文(含コード&リンク): # 整数の入った配列中の、各整数の個数を出力せよ。 # 例えば、P[4]={1, 2, 3, 1} ならば出力は # 0 0 # 1 2 # 2 1 # 3 1 # 4 0 # となる。配列の要素数までの各整数の個数を出力すれば良い。 # # '整数の入った配列中の、各整数の個数を出力せよ。 例えば、P[4]={1, 2, 3, 1} ならば出力は 0 0 1 2 2 1 3 1 4 0 となる。配列の要素数までの各整数の個数を出力すれば良い。 Prologには配列が無いためここではならびで代用しなさい。'(_数値ならび) :- '0からならびの要素数までの各整数が数値ならびの中にある度数ならびを出力せよ。'(_数値ならび). '0からならびの要素数までの各整数が数値ならびの中にある度数ならびを出力せよ。'(_数値ならび) :- '0からならびの要素数までの各整数が数値ならびの中にある度数ならびを'(_数値ならび,_各整数の度数ならび), '出力せよ。'(_各整数の度数ならび). '0からならびの要素数までの各整数が数値ならびの中にある度数ならびを'(_数値ならび,_各整数の度数ならび) :- '0からならびの要素数までの各整数が'(_数値ならび,_0からならびの要素数までの各整数), 数値ならびの中にある度数ならびを(_0からならびの要素数までの各整数,_数値ならび,_各整数の度数ならび). '0からならびの要素数までの各整数が'(_数値ならび,_0からならびの要素数までの各整数ならび) :- ならびの要素数(_数値ならび,_ならびの要素数), '0からならびの要素数までの各整数が'(_ならびの要素数,_数値ならび,_0からならびの要素数までの各整数ならび). '0からならびの要素数までの各整数が'(_ならびの要素数,_数値ならび,_0からならびの要素数までの各整数ならび) :- findall(N,( between(0,_ならびの要素数,N)),_0からならびの要素数までの各整数ならび). ならびの要素数(_数値ならび,_ならびの要素数) :- length(_数値ならび,_ならびの要素数). 数値ならびの中にある度数ならびを(_0からならびの要素数までの各整数ならび,_数値ならび,_各整数の度数ならび) :- findall([_整数,_度数],( 数値ならびの中にある度数(_0からならびの要素数までの各整数ならび,_数値ならび,_整数,_度数)),_各整数の度数ならび). 数値ならびの中にある度数(_0からならびの要素数までの各整数ならび,_数値ならび,_整数,_度数) :- member(_整数,_0からならびの要素数までの各整数ならび), 度数(member(_整数,_数値ならび),_度数). '出力せよ。'(_各整数の度数) :- forall(member([N,_度数],_各整数の度数),writef('%w %w\n',[N,_度数])). 度数(_目標,_度数) :- findall(1,_目標,L), length(L,_度数).