From Newsgroup: comp.lang.prolog
Hi,
Sometimes my new Railgun CLP for Dogelog
Player is blazing fast. Like here:
?- time((euler(_), fail; true)).
% Zeit 1ms, GC 0ms, Lips 6675k
true.
?- euler(_L), maplist(deref, _L, R).
R = [3, 7, 1];
R = [1, 5, 3];
fail.
Compare to Scryer Prolog:
/* Scryer Prolog 0.10 */
?- time((euler(_), fail; true)).
% CPU time: 0.203s, 326_594 inferences
true.
?- euler(L).
L = [1,5,3]
; L = [3,7,1]
; false.
The test case:
/**
* find 3 non-zero digits such
* that the number equals the cube sum:
*
* 371 = 3^3 + 7^3 + 1^3
* 153 = 1^3 + 5^3 + 3^3
*/
% euler(-List)
euler(L) :-
L = [X,Y,Z],
L ins 1..9,
100*X+10*Y+Z #= X*X*X+Y*Y*Y+Z*Z*Z,
labeling([ff], L).
Similar problem to:
https://math.berkeley.edu/~elafandi/euler/p30/
--- Synchronet 3.21b-Linux NewsLink 1.2