首页 > 解决方案 > 编写一个名为 steps() 的函数,它为任何 n 构建一个方形楼梯

问题描述

我是 R 新手,并试图弄清楚如何解决这个问题。编写一个名为 steps() 的函数,它为任何 n 构建一个方形楼梯。
在此处输入图像描述

这是我最初拥有的

steps<- function(n)

{
  mx <- matrix(,nrow=n,ncol = n)

  for( n in 1:n)
  {
    mx[n,n] = "#"


  }

  print(mx)
}

标签: r

解决方案


steps <- function(n) {
  m <- matrix('', n, n)
  m[!upper.tri(m)[,n:1]] <- '#'
  m
}
steps(5)


#     [,1] [,2] [,3] [,4] [,5]
# [1,] ""   ""   ""   ""   "#" 
# [2,] ""   ""   ""   "#"  "#" 
# [3,] ""   ""   "#"  "#"  "#" 
# [4,] ""   "#"  "#"  "#"  "#" 
# [5,] "#"  "#"  "#"  "#"  "#" 

如果(像您的图像)您不想看到引号,那么

print(steps(5), quote = FALSE)
#      [,1] [,2] [,3] [,4] [,5]
# [1,]                     #   
# [2,]                #    #   
# [3,]           #    #    #   
# [4,]      #    #    #    #   
# [5,] #    #    #    #    #  

推荐阅读