package main import ( "collatz/collatz" "collatz/parsing" "log" "strings" ) func main() { sequence, err := runCollatz() if err != nil { log.Fatalf("Error calculating Collatz: %v", err) } printSequence(sequence) } func printSequence(sequence collatz.Sequence) { builder := new(strings.Builder) log.Printf("Collatz sequence with %d iterations:", sequence.Iterations) for i, num := range sequence.Sequence { if i != 0 { builder.WriteString("\n-> ") } builder.WriteString(num.String()) } log.Println(builder.String()) } func runCollatz() (collatz.Sequence, error) { parser := new(parsing.Cliargs) calculator := collatz.NewCalculator(parser) sequence, err := calculator.CalculateCollatz() return sequence, err }