Heronian triangles: Difference between revisions
Content added Content deleted
(→{{header|Logtalk}}: Simplify code.) |
(→{{header|Logtalk}}: Fix missing uses/2 directive fir the between/3 predicate) |
||
Line 3,032: | Line 3,032: | ||
:- object(test_triangle). |
:- object(test_triangle). |
||
:- uses(integer, [between/3]). |
|||
% define aliases for simpler reading |
|||
:- uses(list, [length/2, member/2, sort/3, take/3]). |
:- uses(list, [length/2, member/2, sort/3, take/3]). |
||
:- uses(logtalk, [print_message(information, heronian, Message) as print(Message)]). |
:- uses(logtalk, [print_message(information, heronian, Message) as print(Message)]). |
||
Line 3,069: | Line 3,069: | ||
print(@' A B C Area Perimeter'), |
print(@' A B C Area Perimeter'), |
||
print(@'=== === === ======= ========='), |
print(@'=== === === ======= ========='), |
||
forall(member(T, L), display_single_element(T)), |
|||
print(@'\n'). |
print(@'\n'). |
||
Line 3,076: | Line 3,076: | ||
% collect all the primitive heronian triangles within the boundaries of the provided task |
% collect all the primitive heronian triangles within the boundaries of the provided task |
||
gather_primitive_heronians(Primitives) :- |
gather_primitive_heronians(Primitives) :- |
||
findall( |
|||
t(A, B, C, Area, Perimeter), |
t(A, B, C, Area, Perimeter), |
||
( |
( |