Mian-Chowla sequence: Difference between revisions

→‎{{header|Go}}: Improved performance of quicker version.
(→‎{{header|Go}}: Improved performance of quicker version.)
Line 416:
</pre>
<br>
Quicker version (runs in less thanabout 0.0603 seconds on Celeron N3050 @1.6 GHz), output as before:
<lang go>package main
 
Line 426:
mc := make([]int, n)
mc[0] = 1
is := make(set, n*(n+1)/2)
is[2] = true
var sum int
var isx := make([]int, 0, n)
for i := 1; i < n; i++ {
isx = isx[:0]
Line 437:
for k := 0; k <= i; k++ {
sum = mc[k] + j
if is[sum] {
for _, x := range isx {
delete(is, x)
}
isx = isx[:0]
continue jloop
}
is[sum] = true
isx = append(isx, sum)
}
for _, x := range isx {
is[sumx] = true
}
break
9,482

edits