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