为了账号安全,请及时绑定邮箱和手机立即绑定

如何根据n值制作循环?

如何根据n值制作循环?

Go
慕码人2483693 2022-11-08 14:34:31
假设我的 n 值为 3,代码将如下所示://Loop 1for i := 0; i < len(x); i++ {        //Loop 2        for j := 0; (j < len(x)) && (j != i); j++ {            //Loop 3            for k := 0; (k < len(x)) && (k != i) && (k != j); k++ {            }        }    }但是,我试图弄清楚如何根据值自动生成它,以便当 n 值为 5 时,它应该生成:Loop 1 {   Loop 2 {      Loop 3 {         Loop 4 {            Loop 5 {            }         }      }   }}可能吗?
查看完整描述

1 回答

?
慕哥9229398

TA贡献1877条经验 获得超6个赞

这是一个递归示例https://go.dev/play/p/cLm-QHydM37


这导致以下迭代


当长度为 5 时:map[1:5 2:25 3:125 4:625 5:3125]


当长度为 3 时:map[1:3 2:9 3:27 4:0 5:0]


package main


import "fmt"


func main() {

    count := map[int]int{1: 0, 2: 0, 3: 0, 4: 0, 5: 0}


    // This recursion is based on https://gobyexample.com/recursion

    var loopFunc func(current int, data []string)

    loopFunc = func(current int, data []string) {

        for i := 0; (i < len(data)) && (len(data) != current-1); i++ {

            count[current] = count[current] + 1

            loopFunc(current+1, data)

        }

    }


    loopFunc(1, make([]string, 5))

    fmt.Println(count)

}

我可能没有完全正确的循环逻辑,但这应该是您继续前进的跳板。


查看完整回答
反对 回复 2022-11-08
  • 1 回答
  • 0 关注
  • 74 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信