Pythagorean triples: Difference between revisions

Added 11l
(→‎{{header|Wren}}: Typo in program comment.)
(Added 11l)
Line 24:
*   [[Pythagorean quadruples]]
<br><br>
 
=={{header|11l}}==
{{trans|D}}
 
<lang 11l>Int64 nTriples, nPrimitives, limit
 
F countTriples(Int64 =x, =y, =z)
L
V p = x + y + z
I p > :limit
R
 
:nPrimitives++
:nTriples += :limit I/ p
 
V t0 = x - 2 * y + 2 * z
V t1 = 2 * x - y + 2 * z
V t2 = t1 - y + z
countTriples(t0, t1, t2)
 
t0 += 4 * y
t1 += 2 * y
t2 += 4 * y
countTriples(t0, t1, t2)
 
z = t2 - 4 * x
y = t1 - 4 * x
x = t0 - 2 * x
 
L(p) 1..8
limit = Int64(10) ^ p
nTriples = nPrimitives = 0
countTriples(3, 4, 5)
print(‘Up to #11: #11 triples, #9 primitives.’.format(limit, nTriples, nPrimitives))</lang>
 
{{out}}
<pre>
Up to 10: 0 triples, 0 primitives.
Up to 100: 17 triples, 7 primitives.
Up to 1000: 325 triples, 70 primitives.
Up to 10000: 4858 triples, 703 primitives.
Up to 100000: 64741 triples, 7026 primitives.
Up to 1000000: 808950 triples, 70229 primitives.
Up to 10000000: 9706567 triples, 702309 primitives.
Up to 100000000: 113236940 triples, 7023027 primitives.
</pre>
 
=={{header|360 Assembly}}==
1,481

edits