25 lines
476 B
R
25 lines
476 B
R
zigzag <- function(size)
|
|
{
|
|
digits <- seq_len(size^2) - 1
|
|
mat <- matrix(0, nrow = size, ncol=size)
|
|
i <- 1
|
|
j <- 1
|
|
for(element in digits)
|
|
{
|
|
mat[i,j] <- element
|
|
if((i + j) %% 2 == 0)
|
|
{
|
|
# Even stripes
|
|
if(j < size) j <- j + 1 else i <- i + 2
|
|
if(i > 1) i <- i - 1
|
|
} else
|
|
{
|
|
# Odd stripes
|
|
if(i < size) i <- i + 1 else j <- j + 2
|
|
if(j > 1) j <- j - 1
|
|
}
|
|
}
|
|
mat
|
|
}
|
|
|
|
zigzag(5)
|