いろんな言語で宿題スレ 第三編
at TECH
[
2ch
|
▼Menu
]
■コピペモード
□
スレを通常表示
□
オプションモード
□このスレッドのURL
■項目テキスト
100:デフォルトの名無しさん 09/12/26 07:57:58 どこが間違ってるのか、コメントしてよ。 間違いの部分を読むのは勉強になるから。 101:デフォルトの名無しさん 09/12/26 08:06:03 >>100 焦ってしまって、精神的にコメントを入れてる余裕がなくなるw 人に見られないうちに書き換えようって。 ところで、findall/3は奇妙な仕様になっていて、 findall(_残高,残高(複利,30,_元金,_複利の利率,_,_残高),L1), findall(_残高,残高(単利,30,_元金,_単利の利率,_,_残高),L2), でも通ってしまう。 この目標が終了する時にこの中で使われている変数の束縛を解いてしまう。 好ましい表現ではないと思うから、避けるようにしているけど。 102:デフォルトの名無しさん 09/12/26 08:24:51 # [1] 授業単元:Prolog基礎 # [2] 問題文(含コード&リンク):カラムとして、電話番号と氏名を持つ # 電話帳テーブルがある。この中で同姓同名が最も多い氏名を探せ。 103:デフォルトの名無しさん 09/12/26 09:17:55 >>102 % Prolog 'カラムとして、電話番号と氏名を持つ電話帳テーブルがある。この中で同姓同名が最も多い氏名'(_氏名ならび) :- findall(_氏名,clause(電話帳(_,_氏名),_),_氏名ならび), quicksort(_氏名ならび,_整列された氏名ならび), 同姓同名が最も多いもの(_整列された氏名ならび,0,[],_氏名ならび). 同姓同名が最も多いもの(_整列された氏名ならび,_これまでの最大数,_氏名ならび1,_氏名ならび). 整列された氏名ならび=[A|R1], 要素の連続数(1,A,R1,X,R2), 最大値は(A,X,_これまでの最大値,_更新された最大値,_氏名ならび1,_氏名ならび2), 同姓同名が最も多いもの(R2,_更新された最大値,_氏名ならび2,_氏名ならび),!. 同姓同名が最も多いもの(_,_,_氏名ならび,_氏名ならび). 最大値は(_氏名,X,_これまでの最大値,X,_氏名ならび,[_氏名]) :- X @> _これまでの最大値,!. 最大値は(_氏名,X,_これまでの最大値,X,_氏名ならび,[_氏名|_氏名ならび]) :- X = _これまでの最大値,!. 最大値は(_,_,_これまでの最大値,_これまでの最大値,_氏名ならび,_氏名ならび). 要素の連続数(X,A,[],X,[]) :- !. 要素の連続数(X,A,[B|R],X,[B|R]) :- \+(A==B),!. 要素の連続数(M,A,[A|R1],X,R) :- M2 is M + 1,要素の連続数(M2,A,R1,X,R).
次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
レスジャンプ
mixiチェック!
Twitterに投稿
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch
4385日前に更新/462 KB
担当:undef