Heronian triangles: Difference between revisions

J
(J)
Line 100:
210 140 7x65x68
210 300 3x148x149</pre>
 
=={{header|J}}==
 
Supporting implementation:
 
<lang J>a=:0&{"1
b=:1&{"1
c=:2&{"1
s=:(a+b+c)%2:
A=:2 %: s*(s-a)*(s-b)*(s-c)
P=:+/"1
isprimhero=:(0&~:*(=<.@+))@A*1=a+.b+.c
 
tri=: (/: A,.P,.{:"1) (#~ isprimhero)~./:"1~1+200 200 200#:i.200^3</lang>
 
Required examples:
 
<lang J> #tri
517
 
10{.(,._,.A,.P) tri
3 4 5 _ 6 12
5 5 6 _ 12 16
5 5 8 _ 12 18
4 13 15 _ 24 32
5 12 13 _ 30 30
9 10 17 _ 36 36
3 25 26 _ 36 54
7 15 20 _ 42 42
10 13 13 _ 60 36
8 15 17 _ 60 40
 
(#~210=A) (,._,.A,.P) tri
17 25 28 _ 210 70
20 21 29 _ 210 70
12 35 37 _ 210 84
17 28 39 _ 210 84
7 65 68 _ 210 140
3 148 149 _ 210 300</lang>
 
=={{header|Perl}}==
6,962

edits