いろんな言語で宿題スレ 第三編at TECH
いろんな言語で宿題スレ 第三編 - 暇つぶし2ch37:デフォルトの名無しさん
09/12/24 00:30:41
>>35
% Prolog 汎用性の全くない定義。
覆面算_35(O,S,A,K,Y,T) :-
  加算表(A,O,K1,O),
  (K1=0,加算表(K,T,K2,Y);K1=1,加算表の一(K,T,K2,Y)),
  (K2=0,加算表(A,O,K3,K);K2=1,加算表の一(A,O,K3,K)),
  (K3=0,加算表(S,Y,K4,O);K3=1,加算表の一(S,Y,K4,O)),
  (K4=0,加算表(O,K,0,T);K4=1,加算表の一(O,K,0,T)),
  \+(O=S),\+(O=A),\+(O=K),\+(O=Y),\+(O=T),
  \+(S=A),\+(S=K),\+(S=Y),\+(S=T),
  \+(A=K),\+(A=Y),\+(A=T),
  \+(K=Y),\+(K=T),
  \+(Y=T).

加算表の一(A,B,C,D) :- 加算表(1,A,K,E),加算表(E,B,C,D).

加算表定義 :-
  for(0,M,9),
  for(0,N,9),
  D is (M+N) // 10,
  Mod is (M+N) mod 10,
  P=加算表(M,N,D,Mod),
  assertz(P),
  N=9,
  M=9.

:- 加算表定義.


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