Pythagorean triples: Difference between revisions
Content added Content deleted
(→{{header|J}}: add whitespace to help with reading) |
|||
Line 136: | Line 136: | ||
Brute force approach: |
Brute force approach: |
||
<lang j>pytr=:3 :0 |
<lang j>pytr=: 3 :0 |
||
r=.i.0 3 |
r=. i. 0 3 |
||
for_a.1+i.<.(y-1)%3 do. |
for_a. 1 + i. <.(y-1)%3 do. |
||
b=.1+a+i.<.(y%2)-3*a%2 |
b=. 1 + a + i. <.(y%2)-3*a%2 |
||
c=. a +&.*: b |
c=. a +&.*: b |
||
keep=. (c=<.c)*.y>:a+b+c |
keep=. (c = <.c) *. y >: a+b+c |
||
if.1 e.keep do. |
if. 1 e. keep do. |
||
r=.r, a,.b ,.&(keep&#) c |
r=. r, a,.b ,.&(keep&#) c |
||
end. |
end. |
||
end. |
end. |
||
Line 149: | Line 149: | ||
) |
) |
||
prim=:1 = 2 +./@{. |:</lang> |
prim=: 1 = 2 +./@{. |:</lang> |
||
Example use: |
Example use: |
||
Line 187: | Line 187: | ||
<lang j>trips=:3 :0 |
<lang j>trips=:3 :0 |
||
'm n'=. |:(#~ 1 = 2 | +/"1)(#~ >/"1),/,"0/~}.i.<.%:y |
'm n'=. |:(#~ 1 = 2 | +/"1)(#~ >/"1) ,/ ,"0/~ }. i. <. %: y |
||
prim=. (#~ 1 = 2 +./@{. |:) (#~ y>:+/"1)m (-&*:,. +:@*,. +&*:) n |
prim=. (#~ 1 = 2 +./@{. |:) (#~ y >: +/"1)m (-&*: ,. +:@* ,. +&*:) n |
||
/:~ ; <@(,.~ # {. 1:)@(*/~ 1 + y i.@<.@% +/)"1 prim |
|||
)</lang> |
)</lang> |
||