标签: code-golf

Code Golf:熄灯

挑战

最短的代码按字符计数来解决输入灯输出板.

灯光输出板是一个不同大小的2d方形网格,由两个字符组成 - .用于关闭*的灯光和打开的灯光.

要解决电路板,必须关闭所有"灯".切换灯(即打开时关闭,关闭时打开)一次点亮5个灯 - 选择灯并且灯以+(加号)形状包围."选择"中间灯会解决问题:

.*.
***
.*.
Run Code Online (Sandbox Code Playgroud)

自熄灯!解决方案顺序无关紧要,输出将是一个新的电路板,在选择的灯泡上有标记.上面板的解决方案是

...
.X.
...
Run Code Online (Sandbox Code Playgroud)

关闭没有侧灯关闭的角落的灯不会溢出:

...
..*
.**
Run Code Online (Sandbox Code Playgroud)

在这种情况下,选择右下灯泡只会关闭3个灯泡.

测试用例

Input:
    **.**
    *.*.*
    .***.
    *.*.*
    **.**
Output:
    X...X
    .....
    ..X..
    .....
    X...X
Run Code Online (Sandbox Code Playgroud)
Input:
    .*.*.
    **.**
    .*.*.
    *.*.*
    *.*.*
Output:
    .....
    .X.X.
    .....
    .....
    X.X.X
Run Code Online (Sandbox Code Playgroud)
Input:
    *...*
    **.**
    ..*..
    *.*..
    *.**.
Output:
    X.X.X
    ..X.. 
    .....
    .....
    X.X..
Run Code Online (Sandbox Code Playgroud)

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

language-agnostic code-golf rosetta-stone

23
推荐指数
4
解决办法
3008
查看次数

Code Golf:Pig Latin

挑战:

取一个任意长度的输入句子,并将该句子中的所有单词转换为猪拉丁语.如果您不知道猪拉丁语是什么,请阅读维基百科:Pig Latin.

产品规格:

  1. 假设所有单词都用空格分隔,所有句子都以感叹号,问号或句号结尾.

  2. 不要将变体用于维基百科中提到的元音.

  3. 对于像面包和测验这样的单词,他们完全可以接受readbay,uizqay而不是eadbray和izquay.

  4. 功能或方法是完全可以接受的.换句话说,您不需要接受用户输入,但必须显示用户输出.

  5. 假设没有输入包含复合词.

例:

Input: I am a happy man.
Output: Iway amway away appyhay anmay.
Run Code Online (Sandbox Code Playgroud)

如何取胜:

获胜者是能够编写能够用最少量角色进行挑战的程序的人.

language-agnostic code-golf rosetta-stone

23
推荐指数
6
解决办法
2670
查看次数

Code Golf:复活节螺旋

什么比复活节代码高尔夫球场的Spiral更合适?
好吧,我猜几乎一切.

挑战

字符数最短的代码显示由星号('*')组成的漂亮的ASCII螺旋.

输入是一个数字,R它将是Spiral的x大小.另一个维度(y)总是如此R-2.该程序可以假定R总是奇数并且> = 5.

一些例子:

Input
    7
Output

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

Input
    9
Output

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

Input
   11
Output

***********
*         *
* ******* *
* *     * *
* * *** * *
* *   * * *
* ***** * *
* …
Run Code Online (Sandbox Code Playgroud)

language-agnostic code-golf spiral rosetta-stone

22
推荐指数
3
解决办法
1602
查看次数

Code Golf:鬼腿

挑战

使用Ghost Leg方法输出数字解决方案的最短代码,给定数字和有效的字符串模式.

例子

Input: 3,
"| | | | | | | |
 |-| |=| | | | |
 |-| | |-| |=| |
 | |-| |-| | |-|"

Output: 2

Input: 2,
"| | |=| |
 |-| |-| |
 | |-| | |"

Output: 1

澄清

  1. 不要打扰输入.考虑其他地方给出的值.
  2. 两个输入值是有效的:列数对应于现有的列和图案仅包含符号|,-,=(和[空格],[LF]).此外,两个相邻的列不能同时包含破折号(在同一行中).
  3. 图案的尺寸未知(最小1x1).

澄清#2

  1. 有两种非法的模式:|-|-||=|=|它创造的模糊性.给定的输入字符串永远不会包含那些.
  2. 输入变量对所有人来说都是一样的; 数值和表示模式的字符串.
  3. 参赛者必须出示一项功能.

测试用例

Given pattern:
"|-| |=|-|=|LF| |-| | |-|LF|=| |-| | |LF| | …

language-agnostic random code-golf rosetta-stone

22
推荐指数
3
解决办法
1778
查看次数

代码高尔夫:电话号码到单词

SO上的代码 - 高尔夫指南

我们都看到过单词的电话号码:1-800-BUY-MORE等.

您可以编写的最短代码是什么,它将为7位美国电话号码生成所有可能的单词组合.

输入将是一个七位整数(或字符串,如果这更简单),并假设输入正确形成.

输出将是七个字符的字符串列表

例如,数字428-5246将产生

GATJAGM
GATJAGN
GATJAGO
GATJAHM
GATJAHN
GATJAGO
GATJAIM
GATJAIN
GATJAIO等.....

获胜标准将是来自任何语言的代码,其中最少的字符产生每个可能的字母组合.

补充说明:

  • 为了使它更有趣,只能使用北美经典键盘手机上的字母形成单词,这里定义了每个数字三个字母.这意味着Z和Q被排除在外.
  • 对于数字'1',放一个空格.
  • 对于数字'0',加一个连字符' - '

将输出识别为真实英语单词的奖励积分.好的,不是真的.;-)

补充:好的,让我们一起使用"Nick's Modified North American Classic Key Pad",它在6键上有一个'O'(哦,不是零).

language-agnostic code-golf rosetta-stone

22
推荐指数
5
解决办法
2632
查看次数

Code Golf:钻石图案

挑战

按字符计算的最短代码根据输入输出钻石图案.

输入由3个正数组成,表示菱形的大小和网格的大小.

钻石由ASCII字符/\空格组成.1号钻石是:

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

网格的大小由钻石数量的宽度和高度组成.

测试用例

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

language-agnostic code-golf rosetta-stone

22
推荐指数
3
解决办法
2116
查看次数

Code Golf:格雷码

挑战

输出n位格雷码的字符数最短的程序.n将是一个小于(由于用户建议)从标准输入中获取的任意数字.格雷码将以标准输出打印,如示例中所示.1000100000

注意:我不希望程序在合理的时间内打印格雷码(n=100000过度杀伤); 我确实希望它开始打印.

输入:

4
Run Code Online (Sandbox Code Playgroud)

预期产出:

0000
0001
0011
0010
0110
0111
0101
0100
1100
1101
1111
1110
1010
1011
1001
1000
Run Code Online (Sandbox Code Playgroud)

algorithm code-golf gray-code

22
推荐指数
9
解决办法
7554
查看次数

在最少的代码中创建,排序和打印100个随机整数的列表

您可以编写的最少量的代码来创建,排序(升序)和打印100个随机正整数的列表?至少代码量我的意思是整个源文件中包含的字符,所以要缩小.

我有兴趣使用任何和所有编程语言来查看答案.让我们尝试为每种语言保留一个答案,编辑前一个以纠正或简化.如果你不能编辑,评论?

language-agnostic code-golf rosetta-stone

21
推荐指数
11
解决办法
6120
查看次数

Code-Golf:模数除法

挑战:

如果不使用您的语言提供的模数除法运算符,请编写一个程序,该程序将从用户获取两个整数输入,然后显示第一个数字模数除以第二个数字的结果.假设所有输入都是正数.

例:

    Input of first number:2
    Input of second number:2
    Result:0
Run Code Online (Sandbox Code Playgroud)

谁赢:

如果您不知道Code Golf的工作原理,获胜者是以最少的字符编写此程序的人.

language-agnostic code-golf

20
推荐指数
7
解决办法
2817
查看次数

Code Golf - 根据当前页面生成附近的页码

挑战在于创建一种算法,用于基于该序列中的当前位置在序列中生成特定大小的数字子集.

在Stack Overflow或Digg等繁忙网站上浏览多页内容时,通常需要为用户提供一种快速跳转到第一页,最后一页或当前页面附近的特定页面的方法.观看.

要求

  • 始终显示第一页和最后一页
  • 页码的子集将包含当前页码以及它之前和/或之后的页码(取决于当前页面)
  • 页码的子集将始终是固定数量的页面,并且永远不会超过或低于该固定数量,除非:
    • totalPages < fixedWidth
  • 除非符合以下情况,否则子集中当前页码的位置是固定的:
    • 1 <= currentPage < (fixedWidth - defaultPostion) 要么
    • (totalPages - currentPage) < (fixedWidth - defaultPostion)
  • 输出应指示第一页数据与子集的第一页之间以及子集的最后一页与最后一页数据之间是否存在大于0的差异.该指标在任一位置最多应出现一次.

如果您还无法想象,请查看问题/答案下的Stack Overflow配置文件.如果你有一个超过10个,你应该在底部看到以这种方式生成的分页链接.那,或滚动到http://digg.com的底部,并观察他们的分页控制.

例子

所有示例都假设子集大小为5,当前页面位于第3位,但这些应该可以在您的解决方案中进行配置....表示页码之间的差距,[x]表示当前页面.


当前页:1/30

输出: [x][2][3][4][5]...[30]


当前页:2/30

输出: [1][x][3][4][5]...[30]


当前页:13/30

输出: [1]...[11][12][x][14][15]...[30]


当前页:27/30

输出: [1]...[25][26][x][28][29][30]


当前页:30/30

输出: [1]...[26][27][28][29][x]


当前页:3/6

输出: [1][2][x][4][5][6]


当前页:4/7

输出: [1][2][3][x][5][6][7]


额外的澄清

  • 第一页和最后一页不计入计 numberOfPages,除非它们依次是一部分numberOfPages[1][x][3][4][5]...[30][1]...[26][27][28][x][30],但不是在 [1]...[8][9][x][11][12]...[30]
  • 没有间隙指示器应当包括如果子集的任一端与所述第一页或最后一页之间的距离小于1.因此,有可能具有的网页的非破坏序列至多 fixedWidth + 2[1][2][3][x][5][6]...[15] …

algorithm code-golf rosetta-stone

20
推荐指数
2
解决办法
1176
查看次数