Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package main
- import "fmt"
- func main() {
- size := 7
- grid := make([][]int, size)
- for k := 0; k < size; k++ {
- grid[k] = make([]int, size)
- }
- mid := (size - 1)/2
- grid[mid][mid] = 1
- x, y := mid, mid
- step, count := 1, 2
- dx, dy := 0, 1
- for ; count <= size*size; step++ {
- for k := 1; count <= size*size && k <= 2; k++ {
- for i := 1; count <= size*size && i <= step; i++ {
- x+=dx
- y+=dy
- grid[x][y] = count
- count++
- }
- dx, dy = dy, dx
- }
- dx, dy = -dx, -dy
- }
- for i := 0; i < size; i++ {
- for j := 0; j < size; j++ {
- fmt.Printf("%d\t", grid[i][j])
- }
- fmt.Printf("\n")
- }
- }
Add Comment
Please, Sign In to add comment