小编Lir*_*una的帖子

Code Golf:Sierpinski的三角形

挑战

最短的代码,按字符计数输出由以下ASCII三角形构成的Sierpinski三次N次迭代的ASCII表示:

 /\
/__\
Run Code Online (Sandbox Code Playgroud)

输入是一个正数.

测试用例

Input:
    2
Output:
       /\
      /__\
     /\  /\
    /__\/__\
Run Code Online (Sandbox Code Playgroud)
Input:
    3
Output:
           /\
          /__\
         /\  /\
        /__\/__\
       /\      /\
      /__\    /__\
     /\  /\  /\  /\
    /__\/__\/__\/__\
Run Code Online (Sandbox Code Playgroud)
Input:
    5
Output:
                                   /\
                                  /__\
                                 /\  /\
                                /__\/__\
                               /\      /\
                              /__\    /__\
                             /\  /\  /\  /\
                            /__\/__\/__\/__\
                           /\              /\
                          /__\            /__\
                         /\  /\          /\  /\
                        /__\/__\        /__\/__\
                       /\      /\      /\      /\
                      /__\    /__\    /__\    /__\
                     /\  /\  /\  /\  /\  /\  /\  /\
                    /__\/__\/__\/__\/__\/__\/__\/__\
                   /\                              /\
                  /__\                            /__\
                 /\ …
Run Code Online (Sandbox Code Playgroud)

language-agnostic code-golf rosetta-stone

37
推荐指数
9
解决办法
4158
查看次数

Code Golf: Seven Segments

The challenge

The shortest code by character count to generate seven segment display representation of a given hex number.

Input

Input is made out of digits [0-9] and hex characters in both lower and upper case [a-fA-F] only. There is no need to handle special cases.

Output

输出将是输入的七段表示,使用这些ASCII面:

  _       _   _       _   _   _   _   _   _       _       _   _  
 | |   |  _|  _| |_| |_  |_    | |_| |_| |_| |_  |    _| |_  |_  
 |_| …
Run Code Online (Sandbox Code Playgroud)

language-agnostic code-golf rosetta-stone

36
推荐指数
9
解决办法
4698
查看次数

Code Golf:音符

挑战

按字符数计算的最短代码,将根据用户输入输出乐谱.

输入将由一系列字母和数字组成 - 字母将代表注释的名称,数字将代表注释的长度.注释由4个垂直列组成.音符的头部将是一个大写字O杆,如果存在的话将是3行高,由管道字符制成|,并且旗帜将由反斜线制成\.

有效音符长度为无,音符的1/4,音符的1/8,音符的1/16和音符的1/32.

       |    |\    |\    |\
       |    |     |\    |\
       |    |     |     |\
 O    O    O     O     O
 1   1/4  1/8  1/16   1/32
Run Code Online (Sandbox Code Playgroud)

根据他们的笔记名称,笔记是工作人员的地方:

  ----

D ----
C     
B ----
A     
G ----
F     
E ----
Run Code Online (Sandbox Code Playgroud)

可以假设所有输入都是有效且没有错误 - 每个音符在一行上用空格分隔,至少有一个有效音符.

测试用例

Input:
    B B/4 B/8 B/16 B/32 G/4 D/8 C/16 D B/16
Output:
                              |\               
    --------------------------|---|\--------
          |   |\  |\  |\      |   |\      |\
    ------|---|---|\--|\-----O----|--O----|\
          |   |   |   |\  |      O        | …
Run Code Online (Sandbox Code Playgroud)

language-agnostic code-golf rosetta-stone

36
推荐指数
8
解决办法
3017
查看次数

Code Golf:蜘蛛网

挑战

按字符排序的最短代码输出一个蜘蛛网,其环等于用户的输入.

通过重建中心环启动蜘蛛网:

   \_|_/
  _/   \_
   \___/
   / | \
Run Code Online (Sandbox Code Playgroud)

然后添加等于用户输入的数量的环.环是由由"蜘蛛圈"的另一个水平\ / |_,并包装中心圆.

输入始终保证为单个正整数.

测试用例

Input
    1
Output
      \__|__/
      /\_|_/\
    _/_/   \_\_
     \ \___/ /
      \/_|_\/
      /  |  \
Run Code Online (Sandbox Code Playgroud)
Input
    4
Output
         \_____|_____/
         /\____|____/\
        / /\___|___/\ \
       / / /\__|__/\ \ \
      / / / /\_|_/\ \ \ \
    _/_/_/_/_/   \_\_\_\_\_
     \ \ \ \ \___/ / / / / 
      \ \ \ \/_|_\/ / / /
       \ \ \/__|__\/ / /
        \ \/___|___\/ /
         \/____|____\/ …
Run Code Online (Sandbox Code Playgroud)

language-agnostic code-golf rosetta-stone

36
推荐指数
4
解决办法
2388
查看次数

multi-arg构造函数的显式关键字?

我最近遇到了一些奇怪的类,它有三个构造函数:

class Class
{
    public:
        explicit Class(int );

        Class(AnotherClass );

        explicit Class(YetAnotherClass, AnotherClass );

    // ...
}
Run Code Online (Sandbox Code Playgroud)

这对我来说没有意义 - 我认为显式关键字是为了保护编译器选择的构造免受外来类型的影响.

这是允许的吗?如果它,它是什么意思?

c++ explicit

34
推荐指数
1
解决办法
7377
查看次数

bash,破折号和字符串比较

我试图在一个简单的shell脚本中比较两个字符串.我使用的是/bin/sh代替/bin/bash,经过无数小时的调试后,事实证明sh(实际上是破折号)无法处理这段代码:

if [ "$var" == "string" ]
then
    do something
fi
Run Code Online (Sandbox Code Playgroud)

什么是比较字符串使用的可移植方式/bin/sh?我知道我总是可以通过使用!=来做相反的事情,但我想知道一种更干净,更便携的方式.

bash string-comparison dash-shell

31
推荐指数
3
解决办法
3万
查看次数

Code Golf:蜂巢

挑战

按字符数排序的最短代码,将根据用户输入生成蜂窝.

蜂窝被定义为由用户输入的大小的六边形网格,作为两个大于零的正数(不需要验证输入).第一个数字(W)代表蜂箱的宽度 - 或 - 每行有多少个六边形.第二个数字(H)表示蜂箱的高度 - 或 - 每列上有多少个六边形.

:一个六边形由三个ASCII字符制成_,/并且\,和三线:

 __
/  \
\__/
Run Code Online (Sandbox Code Playgroud)

六边形相互完成:蜂巢的第一列将为"低",第二列将为高 - 交替并以相同的图案重复形成W六边形.这将重复H次以形成总共WxH六边形.

测试用例:

Input:
    1 1
Output:
     __
    /  \
    \__/
Run Code Online (Sandbox Code Playgroud)
Input:
    4 2
Output:
        __    __
     __/  \__/  \
    /  \__/  \__/
    \__/  \__/  \
    /  \__/  \__/
    \__/  \__/
Run Code Online (Sandbox Code Playgroud)
Input:
    2 5
Output:
        __ 
     __/  \
    /  \__/
    \__/  \
    /  \__/
    \__/  \
    /  \__/
    \__/  \
    /  \__/
    \__/ …
Run Code Online (Sandbox Code Playgroud)

language-agnostic code-golf rosetta-stone

31
推荐指数
6
解决办法
2266
查看次数

无符号模数:替代方法?

我需要优化这个非常微小但却令人讨厌的功能.

unsigned umod(int a, unsigned b)
{
    while(a < 0)
        a += b;

    return a % b;
}
Run Code Online (Sandbox Code Playgroud)

在你喊出"你不需要优化它"之前,请记住,这个函数被称为整个程序生命周期的50%,因为它被称为最小测试用例基准测试的21495808次.

该函数已由编译器内联,因此请不要添加inline关键字.

c c++ math optimization

31
推荐指数
3
解决办法
806
查看次数

负NaN不是NaN?

在编写一些测试用例时,有些测试会检查NaN的结果.

我尝试使用std::isnan但断言错误:

Assertion `std::isnan(x)' failed.
Run Code Online (Sandbox Code Playgroud)

打印出值后x,结果显示它是负NaN(-nan),在我的情况下是完全可以接受的.

在尝试使用NaN != NaN和使用的事实之后assert(x == x),编译器给我一个'恩惠'并优化断言.

制作我自己的isNaN功能也正在优化.

如何检查NaN -NaN的相等性?

c++ nan fast-math

29
推荐指数
2
解决办法
9713
查看次数

Code Golf:Ulam Spiral

挑战

按字符计算的最短代码输出Ulam的螺旋,螺旋尺寸由用户输入给出.

Ulam的螺旋是一种映射素数的方法.螺旋线从中间的数字1开始(1不是素数)并在其周围产生螺旋线,将所有素数标记为字符' *'.非素数将被打印为空格' '.

替代文字http://liranuna.com/junk/ulam.gif

测试用例

Input:
    2
Output:
    * *
      *
    *  

Input:
    3
Output:
    *   *
     * * 
    *  **
     *   
      *  

Input:
    5
Output:
        * *  
     *     * 
    * *   *  
       * * * 
      *  ** *
     * *     
    *   *    
     *   *   
    *     *  
Run Code Online (Sandbox Code Playgroud)

代码计数包括输入/​​输出(即完整程序).

language-agnostic code-golf rosetta-stone

27
推荐指数
7
解决办法
4226
查看次数