gpt4 book ai didi

golang递归函数如何检查返回值?

转载 作者:数据小太阳 更新时间:2023-10-29 03:14:52 27 4
gpt4 key购买 nike

学习golang, proect euler problem 5. 我在搞一个递归函数,想不出办法让返回值正确。

在 go 中,我无法取出 five() 函数末尾的返回值,我也无法让它返回正确的值来执行 main( ) 函数...

我知道我可以在没有递归的情况下做到这一点,但我想知道如果可能的话如何用递归来做到这一点。

package main

import (
"fmt"
//"os"
)

func recursive(num int, div int) int {

if div == 1 {
fmt.Println(num)
return num
}
switch num % div {
case 0:
recursive(num, div-1)
default:
return -1
}
return num
}

func main() {
for i := 20; ; i += 20 {
if recursive(i, 19) == 1 {
fmt.Println("finished")
}
}
}

最佳答案

哦,除了上面的评论,一旦找到答案,它也应该会崩溃。

package main

import (
"fmt"
//"os"
)

func recursive(num int, div int) int {
if div == 1 {
return 1
}
switch num % div {
case 0:
return recursive(num, div-1)
default:
return -1
}
return num
}

func main() {
for i := 120; ; i += 20 {
if recursive(i, 19) == 1 {
fmt.Printf ("finished with %v\n", i)
break;
}
}
}

关于golang递归函数如何检查返回值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39157626/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com