「Go言語」再帰関数で階乗を求めサンプル

2022年1月23日

書式
func 関数名(i int) int {
処理コード
return i * 関数名(i-1)
}
再帰関数で階乗を求めます。
使用例

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
package main
import "fmt"
func funA(i int) int {
if i < 0 {
return -1
} else if i == 0 {
return 1
} else {
return i * funA(i-1)
}
}
func main() {
fmt.Println(funA(-5))
fmt.Println(funA(0))
fmt.Println(funA(6))
}
package main import "fmt" func funA(i int) int { if i < 0 { return -1 } else if i == 0 { return 1 } else { return i * funA(i-1) } } func main() { fmt.Println(funA(-5)) fmt.Println(funA(0)) fmt.Println(funA(6)) }
package main

import "fmt"

func funA(i int) int {
      if i < 0 {
            return -1
      } else if i == 0 {
            return 1
      } else {
            return i * funA(i-1)
      }
}

func main() {
      fmt.Println(funA(-5))
      fmt.Println(funA(0))
      fmt.Println(funA(6))
}

実行結果
-1
1
720

Go言語

Posted by arkgame