0
学习golang,proect euler问题5.我在乱搞一个递归函数,我找不到一个方法来获取返回值是正确的。golang递归函数如何检查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")
}
}
}
不应该是'return recursive(num,div-1)'? – Pyonsuke
我认为它也应该是: 如果div == 1 { return 1} – Seva