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
<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
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 {
}
break
|