いろんな言語で宿題 第五編at TECH
いろんな言語で宿題 第五編 - 暇つぶし2ch194:デフォルトの名無しさん
10/07/02 07:05:19
>>193 (>>189)
% Prolog また、改行ミスがあった。

'output_b.txtを読み込み、ある誕生日を入力したときに、その学生の学籍番号、氏名、誕生月、誕生日を二分探索法により出力する'(_誕生_月,_誕生_日) :-
    get_split_lines('output_b.txt',[' ',月,日],LL),
    二分探索法(LL,_誕生_月,_誕生_日,[_学籍番号,_氏名,_誕生_月,_誕生_日]),
    write_formatted('%t %t %t %t月%t日\n',[_学籍番号,_誕生_月,_誕生_日]).

二分探索法(LL,_誕生_月,_誕生_年,[_学籍番号,_氏名,_誕生_月,_誕生_日]) :-
    '1-3月を13-15月に修正'(_誕生_月,_誕生月_0),
    length(LL,Len),
    Len0 is Len // 2,
    append(L0,[[_学籍番号_1,_氏名_1,_誕生_月_1,_誕生_日_1|L1],LL),
    length(L0,Len0),
    '1-3月を13-15月に修正'(_誕生_月_1,_誕生月_10),
    二分探索法(L0,L,L1,_誕生_月_0,_誕生_日,_誕生_月_10,_誕生_日_1,[_学籍番号,_氏名,_誕生_月,_誕生_日]).

二分探索法(L0,L,L1,_誕生_月,_誕生_日,_誕生_月,_誕生_日,L) :- !.
二分探索法(L0,L,L1,_誕生_月_0,_誕生_日,_誕生_月_10,_誕生_日_1,[_学籍番号,_氏名,_誕生_月,_誕生_日]) :-
    [_誕生_月_0,_誕生_日] @> [_誕生_月_10,_誕生_日_1],!,
    二分探索法(L0,_誕生_月,_誕生_年,[_学籍番号,_氏名,_誕生_月,_誕生_日]).
二分探索法(L0,L,L1,_誕生_月_0,_誕生_日,_誕生_月_10,_誕生_日_1,[_学籍番号,_氏名,_誕生_月,_誕生_日]) :-
    [_誕生_月_0,_誕生_日] @< [_誕生_月_10,_誕生_日_1],!,
    二分探索法(L1,_誕生_月,_誕生_年,[_学籍番号,_氏名,_誕生_月,_誕生_日]).



次ページ
続きを表示
1を表示
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch