编程拼图和代码高尔夫

编程益智爱好者和代码高尔夫球手的问答

7
你好!我是代码高尔夫的警长!
几个月前使用Twitter的任何人都有可能了解'Howdy!我是X“模因的警长。在那里,用表情符号绘制了一个简单的警长图像,并根据主题进行了更改。因此,我认为现在是Code Golf警长的时候了。在这里,他是: ### ##### ### ### ### # ##### # # # # # # # # # # ### # # # # # # # # 特别地,该像素具有一个字符宽度为一个字符高度的“像素”。要生成他,参数将为1和1。 如果他要比他高个子该怎么办? ###### ########## ###### ###### ###### ## ########## ## ## ## ## ## ## ## ## ## ## ###### ## ## …

15
ABAA / ABBB:生成此递归2D模式
当我遇到以下有趣的递归模式时,我正在搞无限电阻网络(长话不说): |-|| |--- 该图案的每个实例的宽度是其高度的两倍。要从图案的一个层次转到下一个层次,请将该矩形分成两个子块(每个子块为NxN正方形): AB = |-|| |--- so A = |- |- and B = || -- 然后根据以下模式复制和重新排列这些半部分: ABAA ABBB giving |-|||-|- |---|-|- |-|||||| |------- 挑战 编写一个程序/函数,给定一个数字N,输出N该递归设计的第th次迭代。这是高尔夫。 I / O格式相对宽松:您可以返回单个字符串,字符串列表,二维字符数组等。允许使用任意尾随空格。您也可以使用0或1索引。 例子 模式的前几次迭代如下: N = 0 |- N = 1 |-|| |--- N = 2 |-|||-|- |---|-|- |-|||||| |------- N …

14
生成TeX以排版Sierpinski三角分形
挑战 编写输出TeX(LaTeX)数学方程式代码(如下所示)的代码,该代码将对5级的Sierpinski Triangle Fractal进行排版。最短的代码胜出。 细节 TeX(和LaTeX等朋友)是一个复杂的排版系统。它可以为数学公式呈现任意嵌套的复杂表达式。巧合的是,这种“嵌套复合体”也描述了分形。以下是使用MathJaX呈现的 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx{{{{{x^x_x}^{x^x_x}_{x^x_x}}^{{x^x_x}^{x^x_x}_{x^x_x}}_{{x^x_x}^{x^x_x}_{x^x_x}}}^{{{x^x_x}^{x^x_x}_{x^x_x}}^{{x^x_x}^{x^x_x}_{x^x_x}}_{{x^x_x}^{x^x_x}_{x^x_x}}}_{{{x^x_x}^{x^x_x}_{x^x_x}}^{{x^x_x}^{x^x_x}_{x^x_x}}_{{x^x_x}^{x^x_x}_{x^x_x}}}}^{{{{x^x_x}^{x^x_x}_{x^x_x}}^{{x^x_x}^{x^x_x}_{x^x_x}}_{{x^x_x}^{x^x_x}_{x^x_x}}}^{{{x^x_x}^{x^x_x}_{x^x_x}}^{{x^x_x}^{x^x_x}_{x^x_x}}_{{x^x_x}^{x^x_x}_{x^x_x}}}_{{{x^x_x}^{x^x_x}_{x^x_x}}^{{x^x_x}^{x^x_x}_{x^x_x}}_{{x^x_x}^{x^x_x}_{x^x_x}}}}_{{{{x^x_x}^{x^x_x}_{x^x_x}}^{{x^x_x}^{x^x_x}_{x^x_x}}_{{x^x_x}^{x^x_x}_{x^x_x}}}^{{{x^x_x}^{x^x_x}_{x^x_x}}^{{x^x_x}^{x^x_x}_{x^x_x}}_{{x^x_x}^{x^x_x}_{x^x_x}}}_{{{x^x_x}^{x^x_x}_{x^x_x}}^{{x^x_x}^{x^x_x}_{x^x_x}}_{{x^x_x}^{x^x_x}_{x^x_x}}}}} 通过以下由嵌套的上标和下标组成的纯文本数学方程式代码: {{{{{x^x_x}^{x^x_x}_{x^x_x}}^{{x^x_x}^{x^x_x}_{x^x_x}}_{{x^x_x}^{x^x_x}_{x^x_x}}}^{{{x^x_x}^{x^x_x}_{x^x_x}}^{{x^x_x}^{x^x_x}_{x^x_x}}_{{x^x_x}^{x^x_x}_{x^x_x}}}_{{{x^x_x}^{x^x_x}_{x^x_x}}^{{x^x_x}^{x^x_x}_{x^x_x}}_{{x^x_x}^{x^x_x}_{x^x_x}}}}^{{{{x^x_x}^{x^x_x}_{x^x_x}}^{{x^x_x}^{x^x_x}_{x^x_x}}_{{x^x_x}^{x^x_x}_{x^x_x}}}^{{{x^x_x}^{x^x_x}_{x^x_x}}^{{x^x_x}^{x^x_x}_{x^x_x}}_{{x^x_x}^{x^x_x}_{x^x_x}}}_{{{x^x_x}^{x^x_x}_{x^x_x}}^{{x^x_x}^{x^x_x}_{x^x_x}}_{{x^x_x}^{x^x_x}_{x^x_x}}}}_{{{{x^x_x}^{x^x_x}_{x^x_x}}^{{x^x_x}^{x^x_x}_{x^x_x}}_{{x^x_x}^{x^x_x}_{x^x_x}}}^{{{x^x_x}^{x^x_x}_{x^x_x}}^{{x^x_x}^{x^x_x}_{x^x_x}}_{{x^x_x}^{x^x_x}_{x^x_x}}}_{{{x^x_x}^{x^x_x}_{x^x_x}}^{{x^x_x}^{x^x_x}_{x^x_x}}_{{x^x_x}^{x^x_x}_{x^x_x}}}}} 请注意,这只是5级嵌套。在TeX&Co中,您不需要生成$...$或不需要$$...$$其他标记来开始/结束数学方程式。您可以在许多在线编辑器中预览生成的TeX,例如:http : //www.hostmath.com,但您可以找到许多其他人也一样。这个问题的灵感来自与朋友的讨论。 更新资料 有一个类似的问题,但是它更笼统,将产生不同的解决方案。我想看到非常固定的简单代码的真正kolmogorov复杂性,它在一个系统(TeX)中是完全显式的,而在另一个系统中则是完全显式的。这也解决了n而不是5级注释。

30
从角落重建矩形阵列
我曾经有一个美丽的矩形阵列。这是非常对称的,但是不幸的是它已经崩溃了,现在我只有左上角。您的任务将是重建原始阵列。 您的程序将收到一个二维整数数组。为了便于解析,您可以假定它们都在1到9之间。您的任务是反转数组的列,行和行和行,将结果角拼接在一起,然后返回结果数组。 您可以假设数组尺寸至少为1x1。 测试用例: Input: 1 2 3 4 5 6 Output: 1 2 3 3 2 1 4 5 6 6 5 4 4 5 6 6 5 4 1 2 3 3 2 1 Input: 1 Output: 1 1 1 1 Input: 9 9 9 Output: 9 9 …

6
在Pi中查找素数
素数无处不在... 他们躲在Pi里面 3.141592653 58979 3238 462643 3832 795028841 971693993751 让我们得到这些素数! 挑战 给定一个输入整数n>0,找出多少素数隐藏在的前几个n数字之内Pi 例子 因为n=3我们应该在中搜索素数[3,1,4]。有2个质数(3,31),因此您的代码应输出2 For n=10,前10位数字是,[3,1,4,1,5,9,2,6,5,3]并且您的代码应输出,12因为[2, 3, 5, 31, 41, 53, 59, 653, 4159, 14159, 314159, 1592653]它们已被隐藏(并找到了!)。 测试用例 输入->输出 1->1 3->2 13->14 22->28 42->60 50->93 150->197 250->363 500->895 规则 您的代码至少n=50必须能够找到所有质数, 是的,您可以对前50位数字进行硬编码,Pi如果您喜欢Entries,则 对答案进行硬编码无效 这是代码高尔夫球。最短的答案以字节为单位!
30 code-golf  math  primes  pi 

8
可视化合并排序
合并排序是一种排序算法,其工作原理是将给定列表分为两半,对两个较小的列表进行递归排序,然后将它们合并回一个排序的列表。递归的基本情况是到达一个单例列表,该列表无法进一步拆分,但已按定义进行了排序。 [1,7,6,3,3,2,5]可以通过以下方式可视化列表中算法的执行: [1,7,6,3,3,2,5] / \ split [1,7,6,3] [3,2,5] / \ / \ split [1,7] [6,3] [3,2] [5] / \ / \ / \ | split [1] [7] [6] [3] [3] [2] [5] \ / \ / \ / | merge [1,7] [3,6] [2,3] [5] \ / \ / merge [1,3,6,7] …

13
ASCII艺术的平方根
您正在为真正讨厌TeX,LaTeX等的数学家做实习生。是如此之多,以至于他决定放弃所有排版,让您以ASCII格式进行所有格式化。过了一会儿,您对此感到厌倦,并决定从平方根开始开始自动化它的一部分。 这是制作平方根的方法: ### this is the input ### ### _____ put a row of underscores stretching one character off either side on top ### ### ### _____ put a diagonal of slashes in front going the height of the input / ### / ### / ### _____ put a diagonal …

10
海马鞋
当然,海马需要鞋子。但是,只有一条尾巴的海马只需要一只鞋子。不幸的是,这双鞋只成对出现。对于海马政府来说,资金紧张,因此他们需要购买尽可能少的货币对。每只海马的鞋子尺码为x,其中x为正整数。但是,如果需要,海马可以穿x-1或x + 1的鞋子。 您的任务是输出海马政府必须购买以在其所有海马上穿鞋的最小对数。 您可以根据需要输入,也可以输入标准漏洞等。 因为这是代码高尔夫,所以以字节为单位的最短代码获胜。 测试用例 2 4 6 6 8 14 -> 4 2 1 3 1 1 -> 3 4 1 4 9 1 8 9 1 8 4 -> 6 1 2 3 5 7 8 10 12 -> 4
30 code-golf 

15
我要压碎阵列有多难?
让我们定义粉碎数字数组的过程。迷恋我们从左到右读取数组。如果在某一点上我们连续遇到两个相同的元素,则将第一个删除,将第二个加倍。例如,这是粉碎以下数组的过程 [5,2,2,3] ^ [5,2,2,3] ^ [5,2,2,3] ^ [5,4,3] ^ [5,4,3] ^ 相同的元件可以折叠多次,例如[1,1,2]成为[4]粉碎时。 当粉碎该阵列的过程没有改变数组时,我们将其称为不可粉碎的阵列。例如[1,2,3]仍然[1,2,3]被压碎之后。 您的任务是获取一个阵列,并确定使其无法破碎所需的破碎次数。您只需要支持0到2 32 -1范围内的整数 这是代码高尔夫球,因此答案将以字节计分,而字节数越少越好。 测试用例 [1] -> 0 [1,1] -> 1 [2,1,1] -> 2 [4,2,1,1] -> 3 [2,2,2,1,1] -> 3 [0,0,0,0] -> 1 [4,0,0,0,4] -> 1 [4,0,0,0,0,4] -> 1 [] -> 0

16
用输入计算BPM
编写最短的代码,将使用经过的8个数据时间点来计算平均BPM(每分钟节拍数)。这是我的第一篇文章,而且我还没有看到类似的问题。因为我是节奏游戏迷,所以拥有一个便捷的小工具可以使用自己的键盘和节奏感来计算BPM(如果您有...)。 挑战 所有输入必须为单数。(即仅按“输入”作为“输入”) 您的程序必须至少接受9个输入。(要创建经过8个数据点的时间。) 您的程序应输出按键的BPM(四舍五入到小数点后两位)。(即178.35) 时序从第一个输入开始。无法启动程序 这是代码高尔夫球,因此最短的答案将获胜。 输入和输出示例 提供至少一个示例输入和输出。确保它们与您对输入外观的描述相符。 输入: > [Enter-Key] # User waits 1 second ... 7 more inputs > [Enter-Key] 输出: > 60 目前的胜利者是KarlKastor在使用Pyth 22个字节 即使获胜者使用的是Pyth,Matlab的答案也是一个值得注意的答案。
30 code-golf 

30
字母楼梯
挑战 您的任务是创建一个程序或函数,该程序或函数在没有输入的情况下输出以下内容: a bb ccc dddd eeeee ffffff ggggggg hhhhhhhh iiiiiiiii jjjjjjjjjj kkkkkkkkkkk llllllllllll mmmmmmmmmmmmm nnnnnnnnnnnnnn ooooooooooooooo pppppppppppppppp qqqqqqqqqqqqqqqqq rrrrrrrrrrrrrrrrrr sssssssssssssssssss tttttttttttttttttttt uuuuuuuuuuuuuuuuuuuuu vvvvvvvvvvvvvvvvvvvvvv wwwwwwwwwwwwwwwwwwwwwww xxxxxxxxxxxxxxxxxxxxxxxx yyyyyyyyyyyyyyyyyyyyyyyyy zzzzzzzzzzzzzzzzzzzzzzzzzz 计分 这是代码高尔夫球,因此每种语言中最短的答案将获胜。

30
一个N×N棋盘上可以放置多少个Wazirs?
假设将名为Wazir 的新童话棋子引入国际象棋。游荡者可以从(x,y)位置移动到: (x +1,y) (x,y +1) (x -1,y) (x,y -1) 也就是说,它们像车子一样正交移动,但一次只能像国王一样移动一步。在N×N棋盘上可以放置多少个这样的游击手,以使两个游击手不能互相攻击? 在1×1的板上,只能有1个这样的棋子。 在2×2板上,可以有2个这样的块。 在3×3板上,可以有5个这样的块。 给定N,返回可以放置在N×N棋盘上的游标的数量。 这是OEIS序列A000982。 更多测试案例 7 → 25 8 → 32 100 → 5000

12
写一个Quine Suite
我们遇到了很多奎因挑战,但是许多奎因格式相似,因此可以使我们的奎因产生一些差异。 您的任务是用相同的语言(至少2种)创建一系列程序,所有程序都输出自己的源代码,但是,这些程序都不能共享任何字符。 例如,如果您使用以下程序创建程序: printf+qw(printf+qw(%s)x2)x2 您的下一个程序不能包含以下任何一项: %()+2finpqrstwx 等等。 规则 您可以使用unicode字符,但仍必须以字节为单位。 所有程序都必须符合社区对适当的标准的定义。这意味着,空字符串不算作有效的quine。 禁止出现标准漏洞。 只要满足上述定义,就可以使用功能或完整程序。 禁止使用与符号无关的语言(包括Lenguage和Headsecks)。 大多数程序都胜出,总代码最短的是决胜局。

30
是哪张卡?
介绍 很久以前,当我习惯用普通纸牌对纸牌游戏进行编码时,我曾经为每张纸牌指定一个数字,然后调用带有某个数字的函数来获得一张纸牌。这在某种程度上启发了我去挑战。 因此,对于不了解扑克牌的人来说,一副纸牌由52张纸牌组成(四种花色中的每套13张,即红心,钻石,黑桃,球杆)。每套西装中有13张牌-首先是2-10的牌,然后是Jack(J),Queen(Q),King(K)和Ace(A)。这是命令 挑战 挑战是取1-52之间的整数作为输入并在该位置显示卡。但是,您的输出必须以语言显示。同样,必须保持顺序,即前13张将是红心,然后是钻石,然后是黑桃,最后是俱乐部。 例如,如果有人选择该号码,则30该牌将属于第三套,即黑桃。同样,它将是西装中的第四张牌,即数字5。因此,您的文字输出必须是:five of spades并且应始终遵循此格式,即,首先是该牌,然后是of和,其名称为最后,中间留有所需的空格。 输入输出 输入将是 介于1到52之间(包括两者之间)的整数。请注意,此处的计数从1开始。您可以选择从0开始。但是,您必须维持订单卡。您的输出应该是用文字写在那个位置的卡片。您不需要处理无效的输入。另外,您的输出可能是小写或大写。 以下是所有可能的输入及其输出的列表: 1 -> two of hearts 2 -> three of hearts 3 -> four of hearts 4 -> five of hearts 5 -> six of hearts 6 -> seven of hearts 7 -> eight of hearts 8 -> nine …

27
皮打了你的电话
挑战: Pi应该是无限的。这意味着每个数字都包含在pi的小数部分内。您的任务将是在输入上取一个正整数,并在输出上以pi位返回此数字的位置。 例如,如果输入为59,我们将返回4 这就是为什么:我们将59在pi的数字中查找数字 3.14159265... ^^ 该值从第4位开始,因此输出为4。 其他一些例子: input : 1 output : 1 input : 65 output : 7 input : 93993 output : 42 input : 3 output : 9 规则: 您不必处理前200个数字中不存在的数字 与往常一样,标准漏洞是被禁止的。 这是codegolf,所以较少的字节获胜。
30 code-golf  pi 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.