トップページ > プログラム > 2014年06月09日 > 2ms5Efhd

書き込み順位&時間帯一覧

42 位/253 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000000030000000003



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
906
プログラミングのお題スレ Part3

書き込みレス一覧

プログラミングのお題スレ Part3
906 :デフォルトの名無しさん[sage]:2014/06/09(月) 14:19:44.15 ID:2ms5Efhd
>>902 Prolog

文字列にあるn個の文字からなる集合を要素とする集合をつくる(_文字列,_n,_文字列集合要素) :-
    atom_chars(_文字列,_文字ならび),
    文字列の要素の重複を取り除いた文字ならび(_文字ならび,_要素に重複のない文字ならび),
    組合せ(_要素に重複のない文字ならび,_n,_組合せ),
    atom_chars(_文字列集合要素,_組合せ).

文字列の要素の重複を取り除いた文字ならび(_文字ならび,_要素に重複のない文字ならび) :-
    findall(_文字,(
          append(L1,[_文字|_],_文字ならび),
          \+(member(_文字,L1))),
        _要素に重複のない文字ならび).

組合せ(L,1,[A]) :-
    member(A,L).
組合せ([A|R1],N,[A|R2]) :-
    N > 1,
    N_1 is N - 1,
    組合せ(R1,N_1,R2).
組合せ([_|R1],N,X) :-
    N > 1,
    組合せ(R1,N,X).
プログラミングのお題スレ Part3
907 :906[sage]:2014/06/09(月) 14:33:28.06 ID:2ms5Efhd
    atom_chars(_文字列,_文字ならび),
    文字列の要素の重複を取り除いた文字ならび(_文字ならび,_要素に重複のない文字ならび),

ここですが、「文字ならびの要素の重複を取り除いた文字ならび」ですね。

最初は atom_chars が「文字列の要素の重複を取り除いた文字ならび」の中にあったので、
この述語名でよかったのですが、外に出したので変えないといけません。最終的に、
atom_chars のサンドイッチにしたくなったのです。
プログラミングのお題スレ Part3
908 :906[sage]:2014/06/09(月) 14:41:50.50 ID:2ms5Efhd
>>902 Prolog すみません。もう一度書き直します。

文字列にあるn個の文字からなる集合を要素とする集合をつくる(_文字列,_n,_文字列集合要素) :-
    atom_chars(_文字列,_文字ならび),
    要素の重複を取り除いた文字ならび(_文字ならび,_要素に重複のない文字ならび),
    組合せ(_要素に重複のない文字ならび,_n,_組合せ),
    atom_chars(_文字列集合要素,_組合せ).

要素の重複を取り除いた文字ならび(_文字ならび,_要素に重複のない文字ならび) :-
    findall(_文字,(
          append(L1,[_文字|_],_文字ならび),
          \+(member(_文字,L1))),
        _要素に重複のない文字ならび).

組合せ(L,1,[A]) :-
    member(A,L).
組合せ([A|R1],N,[A|R2]) :-
    N > 1,
    N_1 is N - 1,
    組合せ(R1,N_1,R2).
組合せ([_|R1],N,L) :-
    N > 1,
    組合せ(R1,N,L).


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。