Функцията mapSum

Краен срок
14.10.2014 15:00

Срокът за предаване на решения е отминал

Да се напише функция mapSum, чийто аргументи са друга функция и произволен брой цели числа. Функцията аргумент от своя страна е функция с един аргумент - цяло число и връщаща цяло число.

Резултатът от mapSum трябва да е сбор на резултатите от прилагането на функцията аргумент върху всеки от другите аргументи на mapSum.

Example

    func cube (a int) int {
        return a * a * a
    }

    result := mapSum(cube, 7, 33)

В горния пример result трябва да стане 36280.

Решения

Илия Ячев
  • Коректно
  • 4 успешни тест(а)
  • 0 неуспешни тест(а)
Илия Ячев
package main
func mapSum(mapFunction func(int) int, args ...int) int {
sum := 0
for _, x := range args {
sum += mapFunction(x)
}
return sum
}
PASS
ok  	_/tmp/d20141015-9255-191cyko	0.011s
PASS
ok  	_/tmp/d20141015-9255-191cyko	0.011s
PASS
ok  	_/tmp/d20141015-9255-191cyko	0.011s
PASS
ok  	_/tmp/d20141015-9255-191cyko	0.011s
Любомир Райков
  • Коректно
  • 4 успешни тест(а)
  • 0 неуспешни тест(а)
Любомир Райков
package main
type integerFunc func(int) int
func mapSum(function integerFunc, numbers ...int) int {
sum := 0
for i := 0; i < len(numbers); i++ {
sum += function(numbers[i])
}
return sum
}
func main() {}
PASS
ok  	_/tmp/d20141015-9255-1crvxw7	0.011s
PASS
ok  	_/tmp/d20141015-9255-1crvxw7	0.011s
PASS
ok  	_/tmp/d20141015-9255-1crvxw7	0.011s
PASS
ok  	_/tmp/d20141015-9255-1crvxw7	0.011s
Йосиф Цветков
  • Коректно
  • 4 успешни тест(а)
  • 0 неуспешни тест(а)
Йосиф Цветков
package main
func mapSum(function func(int) int, arg ...int) int {
sum := 0
for _, num := range arg {
sum += function(num)
}
return sum
}
PASS
ok  	_/tmp/d20141015-9255-nc99pf	0.011s
PASS
ok  	_/tmp/d20141015-9255-nc99pf	0.011s
PASS
ok  	_/tmp/d20141015-9255-nc99pf	0.011s
PASS
ok  	_/tmp/d20141015-9255-nc99pf	0.011s
Любомир Коев
  • Коректно
  • 4 успешни тест(а)
  • 0 неуспешни тест(а)
Любомир Коев
package main
func mapSum(call_back func(int) int, args ...int) (result int) {
for _, number := range args {
result += call_back(number)
}
return
}
PASS
ok  	_/tmp/d20141015-9255-8rfb8g	0.011s
PASS
ok  	_/tmp/d20141015-9255-8rfb8g	0.011s
PASS
ok  	_/tmp/d20141015-9255-8rfb8g	0.012s
PASS
ok  	_/tmp/d20141015-9255-8rfb8g	0.011s
Калина Бухлева
  • Коректно
  • 4 успешни тест(а)
  • 0 неуспешни тест(а)
Калина Бухлева
package main
func mapSum(function func(int) int, numbers ...int) int {
sum := 0
for _, v := range numbers {
sum += function(v)
}
return sum
}
PASS
ok  	_/tmp/d20141015-9255-1cdhf9k	0.011s
PASS
ok  	_/tmp/d20141015-9255-1cdhf9k	0.011s
PASS
ok  	_/tmp/d20141015-9255-1cdhf9k	0.011s
PASS
ok  	_/tmp/d20141015-9255-1cdhf9k	0.011s
Йордан Пулов
  • Коректно
  • 4 успешни тест(а)
  • 0 неуспешни тест(а)
Йордан Пулов
package main
func mapSum(called_func func(int) int, args ...int) int {
result := 0
for _, v := range args {
result += called_func(v)
}
return result
}
PASS
ok  	_/tmp/d20141015-9255-exehks	0.011s
PASS
ok  	_/tmp/d20141015-9255-exehks	0.011s
PASS
ok  	_/tmp/d20141015-9255-exehks	0.011s
PASS
ok  	_/tmp/d20141015-9255-exehks	0.011s
Йончо Йончев
  • Коректно
  • 4 успешни тест(а)
  • 0 неуспешни тест(а)
Йончо Йончев
package main
//function for the first challenge
func mapSum(f func(int) int, args ...int) (result int) {
result = 0
for _, v := range args {
res := f(v)
result += res
}
return result
}
PASS
ok  	_/tmp/d20141015-9255-q89nr3	0.011s
PASS
ok  	_/tmp/d20141015-9255-q89nr3	0.011s
PASS
ok  	_/tmp/d20141015-9255-q89nr3	0.011s
PASS
ok  	_/tmp/d20141015-9255-q89nr3	0.012s
Ангел Цанев
  • Коректно
  • 4 успешни тест(а)
  • 0 неуспешни тест(а)
Ангел Цанев
package main
func mapSum(function func(int) int, args ...int) int {
result := 0
for _, value := range args {
result += function(value)
}
return result
}
PASS
ok  	_/tmp/d20141015-9255-428183	0.011s
PASS
ok  	_/tmp/d20141015-9255-428183	0.011s
PASS
ok  	_/tmp/d20141015-9255-428183	0.011s
PASS
ok  	_/tmp/d20141015-9255-428183	0.011s
Евгений Бояджиев
  • Коректно
  • 4 успешни тест(а)
  • 0 неуспешни тест(а)
Евгений Бояджиев
package main
func mapSum(function func(number int) int, values ...int) int {
result := 0
for _, val := range values {
result += function(val)
}
return result
}
PASS
ok  	_/tmp/d20141015-9255-u1r6rd	0.011s
PASS
ok  	_/tmp/d20141015-9255-u1r6rd	0.011s
PASS
ok  	_/tmp/d20141015-9255-u1r6rd	0.011s
PASS
ok  	_/tmp/d20141015-9255-u1r6rd	0.011s
Диян Димитров
  • Коректно
  • 4 успешни тест(а)
  • 0 неуспешни тест(а)
Диян Димитров
package main
func mapSum(foo func(int) int, args ...int) int {
result := 0
for _, v := range args {
result += foo(v)
}
return result
}
PASS
ok  	_/tmp/d20141015-9255-1fbly8s	0.011s
PASS
ok  	_/tmp/d20141015-9255-1fbly8s	0.011s
PASS
ok  	_/tmp/d20141015-9255-1fbly8s	0.011s
PASS
ok  	_/tmp/d20141015-9255-1fbly8s	0.011s
Цветелина Борисова
  • Коректно
  • 4 успешни тест(а)
  • 0 неуспешни тест(а)
Цветелина Борисова
package main
func mapSum(funcName func(a int) int, args ...int) int {
result := 0
for _, v := range args {
result += funcName(v)
}
return result
}
PASS
ok  	_/tmp/d20141015-9255-g9uzd4	0.011s
PASS
ok  	_/tmp/d20141015-9255-g9uzd4	0.011s
PASS
ok  	_/tmp/d20141015-9255-g9uzd4	0.011s
PASS
ok  	_/tmp/d20141015-9255-g9uzd4	0.011s
Ясен Висулчев
  • Коректно
  • 4 успешни тест(а)
  • 0 неуспешни тест(а)
Ясен Висулчев
// Written by Yasen Visulchev
package main
func mapSum(child func(int) int, args ...int) int {
sum := 0
for _, value := range args {
sum = sum + child(value)
}
return sum
}
//Test functions
func cube(a int) int {
return a * a * a
}
func square(a int) int {
return a * a
}
func time(a int) int {
return a * a * a * a
}
PASS
ok  	_/tmp/d20141015-9255-1ko5l70	0.011s
PASS
ok  	_/tmp/d20141015-9255-1ko5l70	0.011s
PASS
ok  	_/tmp/d20141015-9255-1ko5l70	0.011s
PASS
ok  	_/tmp/d20141015-9255-1ko5l70	0.011s
Иван Главчев
  • Коректно
  • 4 успешни тест(а)
  • 0 неуспешни тест(а)
Иван Главчев
package main
func mapSum(callback func(int) int, args ...int) int {
result := 0
for _, i := range args {
result += callback(i)
}
return result
}
PASS
ok  	_/tmp/d20141015-9255-q132fz	0.011s
PASS
ok  	_/tmp/d20141015-9255-q132fz	0.011s
PASS
ok  	_/tmp/d20141015-9255-q132fz	0.011s
PASS
ok  	_/tmp/d20141015-9255-q132fz	0.011s
Александър Деспотов
  • Коректно
  • 4 успешни тест(а)
  • 0 неуспешни тест(а)
Александър Деспотов
package main
func mapSum(predicate func(int) int, args ...int) int {
res := 0
for _, it := range args {
res += predicate(it)
}
return res
}
PASS
ok  	_/tmp/d20141015-9255-ex14m	0.011s
PASS
ok  	_/tmp/d20141015-9255-ex14m	0.011s
PASS
ok  	_/tmp/d20141015-9255-ex14m	0.011s
PASS
ok  	_/tmp/d20141015-9255-ex14m	0.011s
Иван Боршуков
  • Коректно
  • 4 успешни тест(а)
  • 0 неуспешни тест(а)
Иван Боршуков
package main
func mapSum(f func(int) int, args ...int) (sum int) {
for _, arg := range args {
sum += f(arg)
}
return
}
PASS
ok  	_/tmp/d20141015-9255-gx0tmg	0.011s
PASS
ok  	_/tmp/d20141015-9255-gx0tmg	0.011s
PASS
ok  	_/tmp/d20141015-9255-gx0tmg	0.020s
PASS
ok  	_/tmp/d20141015-9255-gx0tmg	0.011s
Александър Ваканин
  • Коректно
  • 4 успешни тест(а)
  • 0 неуспешни тест(а)
Александър Ваканин
package main
func mapSum(doSth func(a int) int, args ...int) (result int) {
for _, v := range args {
result += doSth(v)
}
return
}
func main() {
}
PASS
ok  	_/tmp/d20141015-9255-17s6fo7	0.011s
PASS
ok  	_/tmp/d20141015-9255-17s6fo7	0.011s
PASS
ok  	_/tmp/d20141015-9255-17s6fo7	0.011s
PASS
ok  	_/tmp/d20141015-9255-17s6fo7	0.011s
Шенай Мустафа
  • Коректно
  • 4 успешни тест(а)
  • 0 неуспешни тест(а)
Шенай Мустафа
package main
func mapSum(cube func(int) int, args ...int) int {
result := 0
for _, v := range args {
result += cube(v)
}
return result
}
PASS
ok  	_/tmp/d20141015-9255-mlmoeo	0.011s
PASS
ok  	_/tmp/d20141015-9255-mlmoeo	0.011s
PASS
ok  	_/tmp/d20141015-9255-mlmoeo	0.011s
PASS
ok  	_/tmp/d20141015-9255-mlmoeo	0.011s
Мартин Добрев
  • Коректно
  • 4 успешни тест(а)
  • 0 неуспешни тест(а)
Мартин Добрев
package main
func mapSum(f func(int) int, args ...int) int {
var result int
for _, v := range args {
result += f(v)
}
return result
}
PASS
ok  	_/tmp/d20141015-9255-pyt6g6	0.011s
PASS
ok  	_/tmp/d20141015-9255-pyt6g6	0.011s
PASS
ok  	_/tmp/d20141015-9255-pyt6g6	0.011s
PASS
ok  	_/tmp/d20141015-9255-pyt6g6	0.011s
Красимир Стойков
  • Коректно
  • 4 успешни тест(а)
  • 0 неуспешни тест(а)
Красимир Стойков
package main
func mapSum(ffunc func(int) int, args ...int) (result int) {
for _, z := range args {
result += ffunc(z)
}
return
}
PASS
ok  	_/tmp/d20141015-9255-1j7r20h	0.019s
PASS
ok  	_/tmp/d20141015-9255-1j7r20h	0.011s
PASS
ok  	_/tmp/d20141015-9255-1j7r20h	0.011s
PASS
ok  	_/tmp/d20141015-9255-1j7r20h	0.011s