Pythagorean triples: Difference between revisions

m (→‎{{header|Common Lisp}}: reformat code (logic unchanged))
Line 303:
10000000: 702309 primitives out of 9706567 triples
100000000: 7023027 primitives out of 113236940 triples</pre>
=={{header|AWK}}==
<lang AWK>
# syntax: GAWK -f PYTHAGOREAN_TRIPLES.AWK
# converted from Go
BEGIN {
printf("%5s %11s %11s %11s %s\n","limit","limit","triples","primitives","seconds")
for (max_peri=10; max_peri<=1E9; max_peri*=10) {
t = systime()
prim = 0
total = 0
new_tri(3,4,5)
printf("10^%-2d %11d %11d %11d %d\n",++n,max_peri,total,prim,systime()-t)
}
exit(0)
}
function new_tri(s0,s1,s2, p) {
p = s0 + s1 + s2
if (p <= max_peri) {
prim++
total += int(max_peri / p)
new_tri(+1*s0-2*s1+2*s2,+2*s0-1*s1+2*s2,+2*s0-2*s1+3*s2)
new_tri(+1*s0+2*s1+2*s2,+2*s0+1*s1+2*s2,+2*s0+2*s1+3*s2)
new_tri(-1*s0+2*s1+2*s2,-2*s0+1*s1+2*s2,-2*s0+2*s1+3*s2)
}
}
</lang>
{{out}}
<pre>
limit limit triples primitives seconds
10^1 10 0 0 0
10^2 100 17 7 0
10^3 1000 325 70 0
10^4 10000 4858 703 0
10^5 100000 64741 7026 0
10^6 1000000 808950 70229 0
10^7 10000000 9706567 702309 2
10^8 100000000 113236940 7023027 12
10^9 1000000000 1294080089 70230484 116
</pre>
 
=={{header|BBC BASIC}}==
477

edits