数学数字谜语没有零

  • 本文关键字:谜语 数字 prolog clpfd
  • 更新时间 :
  • 英文 :


这给了我:

?- X is 10^10//81-1.
X = 123456789.

因此表达式提供了一个包含所有非零
位的数字。是否有另一个公式提供所有数字,
可能排列,其中公式本身没有零?

我们可以用Prolog或CLP(FD)找到这样的公式吗?

SWI-Prolog给我:

?- use_module(library(clpfd)).
true.


?- [D1,D2,D3,D4,D5,D6,D7,D8,D9] ins 1..9, 
[A,B,C] ins 2..9/11..15, 
A^B*C #= (((((((D1*10+D2)*10+D3)*10+D4)*10+D5)*10+D6)*10+D7)*10+D8)*10+D9, 
all_different([D1,D2,D3,D4,D5,D6,D7,D8,D9]), 
label([A,B,C,D1,D2,D3,D4,D5,D6,D7,D8,D9]).
D1 = C, C = 9,
D2 = 4,
D3 = 8,
D4 = B, B = 7,
D5 = 2,
D6 = 1,
D7 = 5,
D8 = 3,
D9 = 6,
A = 14 ;
false.


?- X is 14^7*9.
X = 948721536.

最新更新