開発環境
- 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 コメント:
コメントを投稿