Comment detail

逆順になるあみだくじ (Nested Flatten)
出遅れた・・・のでちょっと変わったやり方で。二桁以上にも対応。
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
def amida(n:Int):Unit = {
  val rep = {(s:String, n:Int) => List.make(n,s).mkString("")}
  val w = n.toString.length
  val r = List.range(0,n).map(x => x+rep(" ",(w-x.toString.length)))

  val lst = List.range(0, n-1).map(y => {
    List.range(0,n*2-1).map(x => {
      if(x%2==0) "|"
      else if((y-x/2)%2==0&&x/2<=y) rep("_",w)
      else rep(" ",w)
    })
  }).map(_.mkString(""))

  r.mkString(" ")::lst:::lst.take(n-2).reverse foreach(println)
  println(lst(0).replace('_',' ')+"\n"+r.reverse.mkString(" "))
}

amida(10)

Index

Feed

Other

Link

Pathtraq

loading...