Golang实现multfive()函数:计算列表中可被5整除位置的元素乘积
Golang实现multfive()函数:计算列表中可被5整除位置的元素乘积
编写一个名为 multfive() 的函数,该函数接收一个数字列表。该函数应返回位置索引能被5整除的元素的乘积。
func Example_01_arrays() {
v1 := []int{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12} // 乘积: 1*6*11 == 66
v2 := []int{12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1} // 乘积: 12*7*2 = 168
v3 := []int{3, 29, 4, 0, 42, 2, 38} // 乘积: 3*2 = 6
以下是我的代码
func multfive(liste []int) int {
for i := 0 ; i <= len(liste) ; i++{
if i % 5 == 0{
}
}
return
更多关于Golang实现multfive()函数:计算列表中可被5整除位置的元素乘积的实战教程也可以访问 https://www.itying.com/category-94-b0.html
2 回复
你已经快完成了。只需使用一个变量来存储乘法结果。
result := 1
for i := 0 ; i <= len(liste) ; i++{
if i % 5 == 0{
result = result * liste[i]
}
}
return result
更多关于Golang实现multfive()函数:计算列表中可被5整除位置的元素乘积的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html
func multfive(liste []int) int {
product := 1
for i := 0; i < len(liste); i++ {
if i%5 == 0 {
product *= liste[i]
}
}
return product
}
示例测试:
func main() {
v1 := []int{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}
fmt.Println(multfive(v1)) // 输出: 66 (1*6*11)
v2 := []int{12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1}
fmt.Println(multfive(v2)) // 输出: 168 (12*7*2)
v3 := []int{3, 29, 4, 0, 42, 2, 38}
fmt.Println(multfive(v3)) // 输出: 6 (3*2)
}
注意原代码中的问题:
- 循环条件
i <= len(liste)会导致索引越界,应改为i < len(liste) - 缺少乘积的初始化和累乘逻辑
- 函数缺少返回值

