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)
}

注意原代码中的问题:

  1. 循环条件 i <= len(liste) 会导致索引越界,应改为 i < len(liste)
  2. 缺少乘积的初始化和累乘逻辑
  3. 函数缺少返回值
回到顶部