Heronian triangles: Difference between revisions
Content added Content deleted
Ttmrichter (talk | contribs) (→{{header|Logtalk}}: Modified test code to eliminate an unnecessary helper predicate by using a lambda expression.) |
Ttmrichter (talk | contribs) (→{{header|Logtalk}}: Used aliases to clean up some of the clutter in reading the test object.) |
||
Line 3,032:
:- object(test_triangle).
% define
:- uses(list, [length/2 as length/2,
member/2 as member/2,
sort/3 as sort/3,
take/3 as take/3]).
:- uses(logtalk, [print_message(information, heronian, Message) as print(Message)]).
Line 3,040 ⟶ 3,044:
gather_primitive_heronians(Primitives),
print('There are ~w primitive Heronian triangles with sides under 200.~n'+[L]),
print(@'The first ten found, ordered by area, are:\n'),
display_each_element(Area10),
print(@'The first ten found, ordered by perimeter, are:\n'),
display_each_element(Perimeter10),
bagof(Element, {Element, Primitives}/(
▲ bagof(Element, {Element, Primitives}/(list::member(Element, Primitives), Element = t(_,_,_,210.0,_)), Area210),
print(@'The list of those with an area of 210 is:\n'),
display_each_element(Area210).
Line 3,077 ⟶ 3,080:
gather_primitive_heronians(Primitives) :-
bagof(
(
between(3, 200, A),
Line 3,107 ⟶ 3,110:
order_by_sides(>, _, _).
:- end_object.
:- end_object.
</syntaxhighlight>
|