zoukankan      html  css  js  c++  java
  • 真正的语言能用一句代码输出三角形

    n是自然数,在你使用最多的语言中,如何用一句代码输出包含n行字符构成的如下形状(可以使用事实上的标准库,例如C++的Bootstrap等;格式化的换行是允许的):

         *
        ***
       *****
      *******
     *********
    ***********
    

    该语言必定满足:

    1. 基本的数据集操作,如range, map

    2. 基本的lambda表述

    C#:

    Console.WriteLine(String.Join("
    ",
        (from i in Enumerable.Range(1, n)
         select new String((Enumerable.Repeat(' ', n - i).
             Concat(Enumerable.Repeat('*', 2 * i - 1))).ToArray())).ToArray()));
    

    JavaScript(使用underscope):

    console.log(_.map(_.range(1, n + 1), function(i) {
        return _.map(_.range(0, n - i), function() { return ' '}).join("") +
         _.map(_.range(0, 2 * i - 1), function() { return '*'}).join("")
        }).join("
    "));
    

    Python:

    print "
    ".join(map(lambda i: (' ' * (n - i) + '*' * (2 * i - 1)), range(1, n + 1)))
    

    F#:

    printfn "%s" ([1..n] 
    |> List.map (fun i -> ((String.replicate (n - i) " ") + (String.replicate (2 * i - 1) "*")))
    |> List.fold (fun sum x -> sum + x + "
    ") "")
    

    欢迎补充。还有,忍住不黑Java。

  • 相关阅读:
    Men and women can't be 'just friends
    thin-provisioning-tools
    自签名证书
    sqlite manager
    python -m SimpleHTTPServer 80801
    rsa or dsa?
    sl4a
    mtp
    sl4a
    基站记录仪是个啥?
  • 原文地址:https://www.cnblogs.com/zhengwenwei/p/3178507.html
Copyright © 2011-2022 走看看