add demo docs
This commit is contained in:
parent
5d63adb2a7
commit
73f299d3f0
12 changed files with 243 additions and 9 deletions
18
demo/kitchen-sink/docs/prolog.plg
Normal file
18
demo/kitchen-sink/docs/prolog.plg
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
partition([], _, [], []).
|
||||
partition([X|Xs], Pivot, Smalls, Bigs) :-
|
||||
( X @< Pivot ->
|
||||
Smalls = [X|Rest],
|
||||
partition(Xs, Pivot, Rest, Bigs)
|
||||
; Bigs = [X|Rest],
|
||||
partition(Xs, Pivot, Smalls, Rest)
|
||||
).
|
||||
|
||||
quicksort([]) --> [].
|
||||
quicksort([X|Xs]) -->
|
||||
{ partition(Xs, X, Smaller, Bigger) },
|
||||
quicksort(Smaller), [X], quicksort(Bigger).
|
||||
|
||||
perfect(N) :-
|
||||
between(1, inf, N), U is N // 2,
|
||||
findall(D, (between(1,U,D), N mod D =:= 0), Ds),
|
||||
sumlist(Ds, N).
|
||||
Loading…
Add table
Add a link
Reference in a new issue