package main import ( "fmt" "strconv" ) func binaer(decimal int) string { n := int64(decimal) return strconv.FormatInt(n, 2) } func countUp(end int) []string { var rows []string for i := range end { rows = append(rows, binaer(i)) } return rows } func countOnes(rows []string, k int) { for _, try := range rows { ones := 0 for _, digit := range try { if digit == '1' { ones++ } } if ones == k { fmt.Println(try) } } } func main() { k := 3 n := 4 rows := countUp(1 << n) fmt.Println(rows) countOnes(rows, k) }