トップページ > プログラム > 2014年06月25日 > f3dQ4AsB

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

14 位/215 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000110001000100000004



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
207
プログラミングのお題スレ Part4
推薦図書/必読書のためのスレッド 73

書き込みレス一覧

プログラミングのお題スレ Part4
207 :デフォルトの名無しさん[sage]:2014/06/25(水) 07:21:14.49 ID:f3dQ4AsB
>>197 Prolog

'アルファベットの小文字aからzで成り立つS(0≦S≦100)が標準入力から与えられる。連続する文字をカウントする。出力の最後に改行を挿入すること。' :-
    write('In: '),read(_文字列),
    '連続する文字をカウントする'(_文字列,'',_出力文字列),
    writef('Out:\n%t\n',[_出力文字列]).

'連続する文字をカウントする'('','') :- !.
'連続する文字をカウントする'(_文字列,_出力文字列) :-
    文字列の先頭から同一文字を切り取る(_文字列,_連続文字,_連続文字数,_残り文字列),
    '連続する文字をカウントする'(_残り文字列,_残り出力文字列),
    atomic_list_concat([_連続文字,_連続文字数,_残り出力文字列],_出力文字列).

文字列の先頭から同一文字を切り取る(_文字列,_連続文字,_連続文字数,_残り文字列) :-
    sub_atom(_文字列,0,1,_,_連続文字),
    連続文字数と残り文字列を得る(_文字列,_連続文字,_連続文字数,_残り文字列).

連続文字数と残り文字列を得る(_文字列,_連続文字,_連続文字数,_残り文字列) :-
    sub_atom(_文字列,_連続文字数,1,_,_文字),
    \+(_連続文字 = _文字),
    sub_atom(_文字列,_連続文字数,_,0,_残り文字列),!.
連続文字数と残り文字列を得る(_文字列,_連続文字,_連続文字数,'') :-
    atom_length(_文字列,_連続文字数).
プログラミングのお題スレ Part4
210 :デフォルトの名無しさん[sage]:2014/06/25(水) 08:00:42.64 ID:f3dQ4AsB
>>203 Prolog

'2つの整数が与えられたとき、桁数が同じ場合を求める。 指数関数は使わないこと。'(_整数_1,_整数_2) :-
    number_chars(_整数_1,_数字ならび_1),
    number_chars(_整数_2,_数字ならび_2),
    length(_数字ならび_1,_桁数),
    length(_数字ならび_2,_桁数).
推薦図書/必読書のためのスレッド 73
266 :デフォルトの名無しさん[sage]:2014/06/25(水) 12:57:26.46 ID:f3dQ4AsB
>>266
萩谷昌己のような人がそう言っているのだとしたら、
そんなものかなぁー
って思うけれど。
プログラミングのお題スレ Part4
215 :207[sage]:2014/06/25(水) 16:49:42.18 ID:f3dQ4AsB
>>207 これ間違っていた。最初の述語の

    '連続する文字をカウントする'(_文字列,'',_出力文字列),

% これ3引数で呼び出しているが、これは第二引数を削除し忘れ。

'アルファベットの小文字aからzで成り立つS(0≦S≦100)が標準入力から与えられる。連続する文字をカウントする。出力の最後に改行を挿入すること。' :-
    write('In: '),read(_文字列),
    '連続する文字をカウントする'(_文字列,_出力文字列),
    writef('Out:\n%t\n',[_出力文字列]).

% が正しい。


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