開発環境
- macOS High Sierra - Apple (OS)
- Emacs (Text Editor)
- Go (プログラミング言語)
Introducing Go: Build Reliable, Scalable Programs (Caleb Doxsey (著)、O'Reilly Media)のChapter 6.(Functions)、Exercises(No. 1105)5.を取り組んでみる。
コード(Emacs)
package main import "fmt" func main() { for i := uint(0); i <= 10; i += 1 { fmt.Println(i, fib(i), fib1(i), fib2(i)) } } func fib(n uint) (ret uint) { switch n { case 0: ret = 0 case 1: ret = 1 default: ret = fib(n-1) + fib(n-2) } return } func fib1(n uint) (ret uint) { if n == 0 { ret = 0 } else if n == 1 { ret = 1 } else { ret = fib(n-1) + fib(n-2) } return } func fib2(n uint) uint { if n <= 1 { return n } return fib(n-1) + fib(n-2) }
入出力結果(Terminal)
$ go run sample5.go 0 0 0 0 1 1 1 1 2 1 1 1 3 2 2 2 4 3 3 3 5 5 5 5 6 8 8 8 7 13 13 13 8 21 21 21 9 34 34 34 10 55 55 55 $
0 コメント:
コメントを投稿