開発環境
- macOS Mojave - Apple (OS)
- Emacs (Text Editor)
- Windows 10 Pro (OS)
- Visual Studio Code (Text Editor)
- Go (プログラミング言語)
プログラミング言語Go (ADDISON-WESLEY PROFESSIONAL COMPUTING SERIES) (Alan A.A. Donovan(著)、Brian W. Kernighan(著)、柴田 芳樹(翻訳)、丸善出版)の第4章(コンポジット型)、4.2(スライス)、4.2.2(スライス内での技法)、練習問題4.4の解答を求めてみる。
コード
package main import "fmt" func main() { for i := 0; i < 13; i++ { s := []int{0, 1, 2, 3, 4, 5} fmt.Printf("%vつだけ左へ回転させる。\n", i) fmt.Println(s) s = rotate(s, i) fmt.Println(s) } } func rotate(s []int, n int) []int { n %= len(s) for i := 0; i < n; i++ { s = append(s[1:], s[0]) } return s }
入出力結果(cmd(コマンドプロンプト)、Terminal)
C:\Users\...>go run sample4.go 0つだけ左へ回転させる。 [0 1 2 3 4 5] [0 1 2 3 4 5] 1つだけ左へ回転させる。 [0 1 2 3 4 5] [1 2 3 4 5 0] 2つだけ左へ回転させる。 [0 1 2 3 4 5] [2 3 4 5 0 1] 3つだけ左へ回転させる。 [0 1 2 3 4 5] [3 4 5 0 1 2] 4つだけ左へ回転させる。 [0 1 2 3 4 5] [4 5 0 1 2 3] 5つだけ左へ回転させる。 [0 1 2 3 4 5] [5 0 1 2 3 4] 6つだけ左へ回転させる。 [0 1 2 3 4 5] [0 1 2 3 4 5] 7つだけ左へ回転させる。 [0 1 2 3 4 5] [1 2 3 4 5 0] 8つだけ左へ回転させる。 [0 1 2 3 4 5] [2 3 4 5 0 1] 9つだけ左へ回転させる。 [0 1 2 3 4 5] [3 4 5 0 1 2] 10つだけ左へ回転させる。 [0 1 2 3 4 5] [4 5 0 1 2 3] 11つだけ左へ回転させる。 [0 1 2 3 4 5] [5 0 1 2 3 4] 12つだけ左へ回転させる。 [0 1 2 3 4 5] [0 1 2 3 4 5] C:\Users\...>
0 コメント:
コメントを投稿