backward up forward refresh
home
login
about

:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
silnia(N, F) :- N > 0, N1 is N - 1, silnia(N1, F1), F is F1 * N.
silnia(0, 1).
silnia(N, A, F) :- A1 is A * N, N > 0, N1 is N - 1, silnia(N1, A1, F).
silnia(0, A, A).
srednia(L, A1, A2, S) :- [H|T] = L, A12 is A1 + H, A21 is A2 + 1, srednia(T, A12, A21, S).
srednia([], A1, A2, S) :- S is A1 / A2.
odwracaj(L, A, R) :- [H|T] = L, [H|A] = A1, odwracaj(T, A1, R).
odwracaj([], A, A).
najwiekszy([H|T], M) :- najwiekszy([H|T], H, M).
najwiekszy(L, A, M) :- [H|T] = L, H > A, najwiekszy(T, H, M).
najwiekszy(L, A, M) :- [H|T] = L, H =< A, najwiekszy(T, A, M).
najwiekszy([], A, A).
zamiana(L, W) :- [H|T] = L, [H2|T2] = T, H =< H2, zamiana(T, W1), W = [H|W1].
zamiana(L, W) :- [H|T] = L, [H2|T2] = T, H > H2, T1 = [H|T], W1 = [H|T2], W = [H2|W1].
zamiana([], W).
bubble(L, X) :- zamiana(L,S), !, bubble(S, X).
bubble(X, X).
inserts([], X, []).
inserts(L, X, W) :- [H|T] = L, H =< X, inserts(T, X, W1), W = [H|W1].
inserts(L, X, W) :- [H|T] = L, H > X, T1 = [H|T], W = [X|T1].
insertsort(L, S) :- [H|T] = L, inserts(T, H, S1), insertsort(T, S).
insertsort([], S).
%^inserts(L, X, W) - lista jest posortowana, o ile do jej posortowanego ogona wstawimy w odpowiednim miejscu jej glowe