Задачи за самостоятелна подготовка

Решение на задачите

Решение на задачите

от Боян Табаков -
Number of replies: 2
Ето решение на задачите:

%::BEGIN CODE::
%zadacha 1
div_while_possible(X, X):-!.
div_while_possible(Z, X):-Z mod X =:= 0, Z1 is Z // X, div_while_possible(Z1, X).

is_xy(Z):-Z1 is Z - 1, between(2, Z1, X), div_while_possible(Z, X), !.

gen_xy(Z):-int(Z), is_xy(Z).

%zadacha 2 (resheno chrez svejdane)
gen_list(A, A, [A]).
gen_list(A, A, []).
gen_list(A, B, [A|T]):-B >= A, A1 is A + 1, gen_list(A1, B, T).
gen_list(A, B, T):-B >= A, A1 is A + 1, gen_list(A1, B, T).

%zadacha 3
add_x(_, [], []):-!.
add_x(X, [H|T], [[X|H]|T1]):-add_x(X, T, T1).

find_list(X, X, [[], [X]]):-!.
find_list(X, Y, R):- X < Y, X1 is X + 1, find_list(X1, Y, L),
add_x(X, L, L1), append(L1, L, R).
%::END CODE::

Между другото - на упражнението казахме, че при това решение на задача 3, списъкът ще се генерира сортиран (а и аз си мислех, че е така), но всъщност не става... както и да се преподреждах аргументите не успях да го изкарам сортиран. Това не е проблем за решението - не се иска сортиран списък, но все пак да отбележа...
In reply to Боян Табаков

Re: Решение на задачите

от Боян Табаков -
Малко коментар относно форматирането на текста:
За да се вижда кода както трябва е най-добре "обикновен текст" да се избере, но тогава кирилицата отива по дяволите...

Има ли workaround?
In reply to Боян Табаков

Re: Решение на задачите

от Трифон Трифонов -

Аз форматирам кода със шрифта "Courier New" (първия drop-down list отляво надясно). Друг вариант е "Предварително форматиран".

Явно при писането си изял нещо от задача 3, но останалите са верни.

Иначе си прав, наистина не излиза сортиран списъкът.