- 37 名前:デフォルトの名無しさん mailto:sage [2009/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. :- 加算表定義.
|

|