>>687
% Prolog
t687(L,_式) :-
  順列(L,4,L1),
  t687_1(L1,_式,10).

t687_1([A],A,A).
t687_1([A,B|R1],_式,X) :-
  C is 10 * A + B,
  t687_1(R1,_式_2,Y),
  t687_2(C,_関数,Y,X),
  _式 =.. [_関数,C,_式_2].
t687_1([A|R1],_式,X) :-
  t687_1(R1,_式_2,Y),
  t687_2(A,_関数,Y,X),
  _式 =.. [_関数,A,_式_2].

t687_2(A,+,B,X) :-
  X is A + B.
t687_2(A,-,B,X) :-
  X is A - B.
t687_2(A,*,B,X) :-
  X is A * B.
t687_2(A,//,B,X) :-
  0 is A mod B,
  X is A // B.