Anonymous user
Pythagorean triples: Difference between revisions
m
→{{header|REXX}}: added another sample output for 1,000. -- ~~~~
m (→{{header|REXX}}: added more whitespace in output, used different form on "n". -- ~~~~) |
m (→{{header|REXX}}: added another sample output for 1,000. -- ~~~~) |
||
Line 1,610:
prims=0
do a=3 to N%3; aa=a*a
do b=a+1 /*triangle can't be isosceles. */
ab=a+b /*compute partial perimeter. */
if ab>=n then iterate a /*a+b>perimeter? Try different A*/
aabb=aa+b*b /*compute sum of a² + b² (cheat)*/
end
end
say 'max perimeter = 'N, /*show a single line of output. */
left('',
left('',
exit
/*──────────────────────────────────GCD subroutine──────────────────────*/
gcd: procedure; arg x,y; do until _==0; _=x//y; x=y; y=_; end; return x</lang>
'''output''' when using the default input of
<pre style="overflow:scroll">
max perimeter = 100
</pre>
'''output''' when using the input of: <tt> 1000 </tt>
<pre style="overflow:scroll">
max perimeter = 1000 Pythagorean triples = 325 primatives = 70
</pre>
|