35 lines
517 B
Go
35 lines
517 B
Go
package sum
|
|
|
|
func Sum(numbers []int) int {
|
|
sum := 0
|
|
|
|
for _, number := range numbers {
|
|
sum += number
|
|
}
|
|
return sum
|
|
}
|
|
|
|
func SumAll(numbersToSum ...[]int) []int {
|
|
res := make([]int, len(numbersToSum))
|
|
|
|
for i, numbers := range numbersToSum {
|
|
res[i] = Sum(numbers)
|
|
}
|
|
|
|
return res
|
|
}
|
|
|
|
func SumAllTails(numbersToSum ...[]int) []int {
|
|
res := make([]int, len(numbersToSum))
|
|
|
|
for i, numbers := range numbersToSum {
|
|
if len(numbers) == 0 {
|
|
res[i] = 0
|
|
continue
|
|
}
|
|
res[i] = Sum(numbers[1:])
|
|
}
|
|
|
|
return res
|
|
}
|