Pythagorean triples: Difference between revisions

Content added Content deleted
(→‎{{header|Wren}}: Updated to Wren 0.4.0.)
Line 4,779:
var p = s0 + s1 + s2
if (p <= maxPeri) {
prim = prim + 1
total = total + (maxPeri/p).floor
System.write("") // fixes a VM recursion bug
newTri.call( 1*s0-2*s1+2*s2, 2*s0-1*s1+2*s2, 2*s0-2*s1+3*s2)
newTri.call( 1*s0+2*s1+2*s2, 2*s0+1*s1+2*s2, 2*s0+2*s1+3*s2)
Line 4,793 ⟶ 4,792:
total = 0
newTri.call(3, 4, 5)
var secs = (System.clock - sc).round
System.print("Up to %(maxPeri): %(total) triples, %(prim) primitives, %(secs) seconds")
maxPeri = 10 * maxPeri
Line 4,799 ⟶ 4,798:
 
{{out}}
Timings are for an Intel Core i7-8565U machine running Wren 0.24.0 on Ubuntu 1820.04.
<pre>
Up to 100: 17 triples, 7 primitives, 0 seconds
Line 4,806 ⟶ 4,805:
Up to 100000: 64741 triples, 7026 primitives, 0 seconds
Up to 1000000: 808950 triples, 70229 primitives, 0 seconds
Up to 10000000: 9706567 triples, 702309 primitives, 10 seconds
Up to 100000000: 113236940 triples, 7023027 primitives, 54 seconds
Up to 1000000000: 1294080089 triples, 70230484 primitives, 5145 seconds
Up to 10000000000: 14557915466 triples, 702304875 primitives, 554463 seconds
</pre>