divremain2.pl

loading
details
attribute value
description
owner Johannes Waldmann
uploaded 2017-08-17 03:45:17.0
disk size 392 Bytes
downloadable true
type
attribute value
name no_type
processor id 1
description this is the default benchmark type for rejected benchmarks and benchmarks that are not associated with a type.
owning community none
loading contents
% Division with remainder
% Author: Thomas Stroeder
% terminating

%query: div(i,i,o,o).
div(_,0,_,_) :- failure(a).
div(0,Y,0,0) :- no(zero(Y)).
div(X,Y,s(Z),R) :- no(zero(X)), no(zero(Y)), minus(X,Y,U), !, div(U,Y,Z,R).
div(X,Y,_,X) :- no(zero(X)), no(zero(Y)).

minus(X,0,X).
minus(s(X),s(Y),Z) :- minus(X,Y,Z).

failure(b).

zero(0).

no(X) :- X, !, failure(a).
no(_).
popout

content may be truncated. 'popout' for larger text window.

actions get anonymous link download benchmark