Необходимо написать функцию func Merge2Channels(f func(int) int, in1 <-chan int, in2 <- chan int, out chan<- int, n int) в package main.
Описание ее работы — n раз сделать следующее:
- прочитать по одному числу из каждого из двух каналов in1 и in2, назовем их x1 и x2.
- вычислить f(x1) + f(x2)
- записать полученное значение в out
Функция Merge2Channels должна быть неблокирующей, сразу возвращая управление.
Функция f может работать долгое время, ожидая чего-либо или производя вычисления.
Ограничение времени: 2 секунды
Формат ввода
Количество итераций передается через аргумент n.
Целые числа подаются через аргументы-каналы in1 и in2.
Функция для обработки чисел перед сложением передается через аргумент f.
Формат вывода
Канал для вывода результатов передается через аргумент out.
Оригинальная задача
package main
func Merge2Channels(f func(int) int, in1 <-chan int, in2 <- chan int, out chan<- int, n int) {
}