Initial data commit

This commit is contained in:
Ingy döt Net 2023-07-01 11:58:00 -04:00
parent 72d218235f
commit f23f22d71c
199087 changed files with 3378941 additions and 0 deletions

View file

@ -0,0 +1,20 @@
func spiral(n) {
var (x, y, dx, dy, a) = (0, 0, 1, 0, [])
{ |i|
a[y][x] = i
var (nx, ny) = (x+dx, y+dy)
( if (dx == 1 && (nx == n || a[ny][nx]!=nil)) { [ 0, 1] }
elsif (dy == 1 && (ny == n || a[ny][nx]!=nil)) { [-1, 0] }
elsif (dx == -1 && (nx < 0 || a[ny][nx]!=nil)) { [ 0, -1] }
elsif (dy == -1 && (ny < 0 || a[ny][nx]!=nil)) { [ 1, 0] }
else { [dx, dy] }
) » (\dx, \dy)
x = x+dx
y = y+dy
} << (1 .. n**2)
return a
}
 
spiral(5).each { |row|
row.map {"%3d" % _}.join(' ').say
}