いろんな言語で宿題スレat TECH
いろんな言語で宿題スレ - 暇つぶし2ch599:デフォルトの名無しさん
09/08/02 10:01:52
>>598
% Prolog
t598 :-
  write('最大公約数を求めます。一行にひとつ整数を入力してください : '),
  get_line(Line1),atom_to_terms(Line1,N1,_),
  get_line(Line2),atom_to_terms(Line2,N2,_),
  appendを使って最大公約数を求める(N1,N2,X),
  write_formatted('%tと%tの最大公約数は%tです\n',[N1,N2,X]).

appendを使って最大公約数を求める(N1,N2,X) :-
  length(L1,N1),
  length(L2,N2),
  最大公約数(L1,L2,[_],[_],LX),
  length(LX,X).

appendを使って最大公約数を求める(L1,L2,L,X,X) :-
  not((append(L,_,L1),append(L,_,L2))),!.
appendを使って最大公約数を求める(L1,L2,L,_,X) :-
  割り切れる(L1,L),
  割り切れる(L2,L),
  appendを使って最大公約数を求める(L1,L2,[_|L],L,X).
appendを使って最大公約数を求める(L1,L2,L,Y,X) :-
  appendを使って最大公約数を求める(L1,L2,[_|L],Y,X).

割り切れる([],_) :- !.
割り切れる(L,DL) :-
  append(DL,L3,L),
  割り切れる(L3,DL).



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