这段代码给了我一些Münchhausen Numbers,
不幸的是只使用
0^0 = 0
约定:
digits(0, P, Q, R) :- !, P = Q, R = P.
digits(N, P, Q, R) :-
M is N-1,
between(0, 9, D),
S is P*10+D,
(D = 0 -> T = Q; T is Q+D^D),
digits(M, S, T, R).
我在 SWI-Prolog 中得到以下结果:
?- digits(4, 0, 0, R).
R = 0 ;
R = 1 ;
R = 3435 ;
false.
以上搜索区间
[0,10^4-1]
。怎么样[0,10^10-1]
吗?