Guest User

Untitled

a guest
Jul 20th, 2018
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.80 KB | None | 0 0
  1. package main
  2.  
  3. import "fmt"
  4.  
  5. func main() {
  6.  
  7. size := 7
  8.  
  9. grid := make([][]int, size)
  10. for k := 0; k < size; k++ {
  11. grid[k] = make([]int, size)
  12. }
  13.  
  14. mid := (size - 1)/2
  15. grid[mid][mid] = 1
  16. x, y := mid, mid
  17.  
  18. step, count := 1, 2
  19. dx, dy := 0, 1
  20. for ; count <= size*size; step++ {
  21. for k := 1; count <= size*size && k <= 2; k++ {
  22. for i := 1; count <= size*size && i <= step; i++ {
  23. x+=dx
  24. y+=dy
  25. grid[x][y] = count
  26. count++
  27. }
  28. dx, dy = dy, dx
  29. }
  30. dx, dy = -dx, -dy
  31. }
  32.  
  33. for i := 0; i < size; i++ {
  34. for j := 0; j < size; j++ {
  35. fmt.Printf("%d\t", grid[i][j])
  36. }
  37. fmt.Printf("\n")
  38. }
  39. }
Add Comment
Please, Sign In to add comment