package main import "fmt" func permute(nums []byte, start int) { if start == len(nums) { fmt.Printf("%c\n", nums) return } n := len(nums) for i := start; i < n; i++ { nums[start], nums[i] = nums[i], nums[start] permute(nums, start+1) nums[start], nums[i] = nums[i], nums[start] } } func letterSlice(n int) []byte { if n <= 0 { return []byte{} } if n > 26 { n = 26 } res := make([]byte, n) for i := 0; i < n; i++ { res[i] = 'a' + byte(i) } return res } func getIntFromUser() int { var n int //fmt.Print("Enter a number: ") _, err := fmt.Scan(&n) if err != nil { fmt.Println("Error reading number:", err) panic("Fehler") } return n } func main() { //size := getIntFromUser() nums := letterSlice(10) permute(nums, 0) }