package cap3 // Ex2 例2 求1000以内的完数,返回一个map,key为完数,value为其因数的数组 func Ex2() map[int][]int { result := map[int][]int{} for i := range 1000 { if i < 2 { continue } sum := 0 factors := make([]int, 0, 20) for j := 1; j <= i/2; j++ { if i%j == 0 { factors = append(factors, j) sum += j } } if sum == i { result[i] = factors } } return result }