学习golang,proect euler问题5。我在搞递归函数,我想不出一种方法来让返回值正确。
在 go 中,我无法在函数末尾取出 return,five()我也无法让它返回正确的值来执行main()函数中的 if 语句......
我意识到我可以在没有递归的情况下做到这一点,但如果可能的话,我想知道如何使用递归来做到这一点。
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")
}
}
}
杨魅力
相关分类