Jump to content

Intersecting number wheels: Difference between revisions

→‎{{header|Go}}: Tidied up a bit.
(Promote to full task status.)
(→‎{{header|Go}}: Tidied up a bit.)
Line 254:
import (
"fmt"
"sort"
"strconv"
)
Line 262 ⟶ 263:
}
 
functype generate(wheelswheelMap = map[string]wheel, start string, maxCount int) {
 
fmt.Printf(" ")
func generate(wheels wheelMap, start string, maxCount int) {
count := 0
w := wheels[start]
Line 269 ⟶ 271:
s := w.values[w.next]
v, err := strconv.Atoi(s)
w.next = (w.next ++ 1) % len(w.values)
if w.nextwheels[start] == len(w.values) {
w.next = 0
}
if err == nil {
fmt.Printf("%d ", v)
Line 285:
ss := s
s = w2.values[w2.next]
w2.next = (w2.next ++ 1) % len(w2.values)
if w2.next == len(w2.values) {
w2.next = 0
}
wheels[ss] = w2
v, err = strconv.Atoi(s)
Line 305 ⟶ 302:
}
 
func printWheels(wheels map[string]wheel, names ...stringwheelMap) {
var names []string
for name := range wheels {
names = append(names, name)
}
sort.Strings(names)
fmt.Println("Intersecting Number Wheel group:")
for _, name := range names {
fmt.Printf(" %s: %v\n", name, wheels[name].values)
}
fmt.PrintlnPrint(" Generates:\n ")
}
func main() {
wheels := make(map[string]wheel)
wheels["A"] = wheel{0, []string{"1", "2", "3"}}
printWheels(wheels, "A")
generate(wheels, "A", 20)
 
func main() {
wheels["A"] = wheel{0, []string{"1", "B", "2"}}
wheels["B"]wheelMaps := wheel{0, []stringwheelMap{"3", "4"}}
{
printWheels(wheels, "A", "B")
wheels[ "A"] =: wheel{0, []string{"1", "2", "3"}},
generate(wheels, "A", 20)
},
 
{
wheels["A"] = wheel{0, []string{"1", "D", "D"}}
wheels[ "A"] =: wheel{0, []string{"1", "B", "2"}},
delete(wheels, "B")
wheels[ "DB"]: = wheel{0, []string{"63", "7", "84"}},
},
printWheels(wheels, "A", "D")
generate(wheels, "A", 20) {
wheels[ "A"] =: wheel{0, []string{"1", "D", "D"}},
 
wheels[ "AD"]: = wheel{0, []string{"16", "B7", "C8"}},
},
wheels["B"] = wheel{0, []string{"3", "4"}}
{
wheels["C"] = wheel{0, []string{"5", "B"}}
wheels[ "BA"]: = wheel{0, []string{"31", "4B", "C"}},
delete(wheels, "D")
printWheels(wheels, "AB": {0, []string{"B3", "C4")}},
generate(wheels "C": {0, []string{"A5", 20)"B"}},
},
}
for _, wheels := range wheelMaps {
printWheels(wheels, "A")
generate(wheels, "A", 20)
}
}</lang>
 
9,490

edits

Cookies help us deliver our services. By using our services, you agree to our use of cookies.