Pythagorean triples: Difference between revisions
Content added Content deleted
(→{{header|Wren}}: Updated to Wren 0.4.0.) |
|||
Line 4,779: | Line 4,779: | ||
var p = s0 + s1 + s2 |
var p = s0 + s1 + s2 |
||
if (p <= maxPeri) { |
if (p <= maxPeri) { |
||
prim = prim + 1 |
prim = prim + 1 |
||
total = total + (maxPeri/p).floor |
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) |
||
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: | Line 4,792: | ||
total = 0 |
total = 0 |
||
newTri.call(3, 4, 5) |
newTri.call(3, 4, 5) |
||
var secs = (System.clock - sc).round |
var secs = (System.clock - sc).round |
||
System.print("Up to %(maxPeri): %(total) triples, %(prim) primitives, %(secs) seconds") |
System.print("Up to %(maxPeri): %(total) triples, %(prim) primitives, %(secs) seconds") |
||
maxPeri = 10 * maxPeri |
maxPeri = 10 * maxPeri |
||
Line 4,799: | Line 4,798: | ||
{{out}} |
{{out}} |
||
Timings are for an Intel Core i7-8565U machine running Wren 0. |
Timings are for an Intel Core i7-8565U machine running Wren 0.4.0 on Ubuntu 20.04. |
||
<pre> |
<pre> |
||
Up to 100: 17 triples, 7 primitives, 0 seconds |
Up to 100: 17 triples, 7 primitives, 0 seconds |
||
Line 4,806: | Line 4,805: | ||
Up to 100000: 64741 triples, 7026 primitives, 0 seconds |
Up to 100000: 64741 triples, 7026 primitives, 0 seconds |
||
Up to 1000000: 808950 triples, 70229 primitives, 0 seconds |
Up to 1000000: 808950 triples, 70229 primitives, 0 seconds |
||
Up to 10000000: 9706567 triples, 702309 primitives, |
Up to 10000000: 9706567 triples, 702309 primitives, 0 seconds |
||
Up to 100000000: 113236940 triples, 7023027 primitives, |
Up to 100000000: 113236940 triples, 7023027 primitives, 4 seconds |
||
Up to 1000000000: 1294080089 triples, 70230484 primitives, |
Up to 1000000000: 1294080089 triples, 70230484 primitives, 45 seconds |
||
Up to 10000000000: 14557915466 triples, 702304875 primitives, |
Up to 10000000000: 14557915466 triples, 702304875 primitives, 463 seconds |
||
</pre> |
</pre> |
||