Перейти к содержимому

Реализовать корректную функцию double (которой нет в коде), чтобы операция *2 выполнялась один раз для каждого значения.

go · basicsTinkoff / Тинькофф (T-Bank / Т-Банк) - Платформа1 кв 2025не решено

Реализовать корректную функцию double (которой нет в коде), чтобы операция *2 выполнялась один раз для каждого значения. Также нужно объяснить, почему текущий код работает таким образом и исправить его.

func appendLenWrong(numbers []*int) {
size := len(numbers) // 3
numbers = append(numbers, &size)
}
func appendLenGoodFirst(numbers []*int) {
size := len(*numbers)
*numbers = append(*numbers, &size)
}
func appendLenGoodSecond(numbers []*int) []*int {
size := len(numbers)
numbers = append(numbers, &size)
return numbers
}
func main() {
numbers := make([]*int, 0, 5)
var number int
for range 3 {
number++
numbers = append(numbers, &number)
}
for _, number := range numbers {
fmt.Printf("%d ", *number)
}
}

Источник: Tinkoff / Тинькофф (T-Bank / Т-Банк) - Платформа · 1 кв 2025

← На выходе, на каждом хосте где запущен… · Все задачи · Go · Что выведет программа и почему? Также н… →