Anonymous user
Heronian triangles: Difference between revisions
→{{header|Smalltalk}}: oops! sort by area first, not by perimeter first! also use a,b,c rather than i,j,k
(Separate language (Smalltalk) from dialect (Squeak)) |
(→{{header|Smalltalk}}: oops! sort by area first, not by perimeter first! also use a,b,c rather than i,j,k) |
||
Line 4,328:
heroGenerator := Generator on: [:generator |
1 to: 200 do: [:
| triangle |
triangle := {
((isPrimitive value: triangle) and: [isHeronian value: triangle])
ifTrue: [generator nextPut: triangle]]]]].
heronians := heroGenerator contents.
sorter :=
sorted := heronians sorted: sorter.
area210 := sorted select: [:triangle | (squaredArea value: triangle) = 210 squared].
Line 4,348:
Transcript print: (perimeter value: t); tab.
Transcript print: (squaredArea value: t) sqrt.
t
Transcript cr; print: heronians size; nextPutAll: ' heronians triangles of side <= 200 where found'.
header value: 'first 10 sorted by
(sorted first: 10) do: tabulate.
header value: 'heronians of area 210'.
area210 do: tabulate.
Transcript flush.</lang>
{{out}}
<pre>
517 heronians triangles of side <= 200 where found
first 10 sorted by
peri area a b c
12 6
16 12
18 12
36 36
heronians of area 210
peri area a b c
70 210
70 210
84 210
84 210
140 210
300 210
</pre>
|