编程拼图和代码高尔夫

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

19
画一个大的ASCII X
问题 受先前挑战做类似事情的启发 给定正整数输入,n输出将遵循以下模式: 输入n=1: * * * * * 输入n=2: ** ** **** ** **** ** ** 输入n=3: *** *** *** *** ***** *** ***** *** *** *** *** 等等... 它具有以下属性: n*2+1 行高 n除了合并时,“手臂”很宽 中心线很n宽 如果n中心上方和下方的线是否n*2宽 如果n是奇数,则中心上方和下方的n*2-1线宽 规则 尾随换行符被接受 适用标准漏洞 最短字节获胜 输出可以打印出来或一个字符串或字符串数​​组 编辑 n=0 不需要处理 允许尾随空格

18
查找无关号码
给定2个非负整数作为输入,输出一个不能通过2个输入上的任何数学运算符创建的非负整数。 例如,给定的输入2和3,6, 0, 5, 1, 9, 8, 23, 2都是无效的输出。 必须考虑的操作有: Addition (a + b) Subtraction (a - b) and (b - a) Multiplication (a * b) Division (a / b) and (b / a) Modulus (a % b) and (b % a) Exponentiation (a ** b) and (b ** a) …

11
斐波那契数列的线性插值
您的任务是找到第n 个斐波那契数,但n不一定是整数。 索引为0的斐波那契数列如下: 0, 1, 2, 3, 4, 5, 6, 7, ... 1, 1, 2, 3, 5, 8, 13, 21, ... 但是,如果我们想要第2 .4 个数字怎么办? 2.4 个数量是0.4倍3之间的差RD和2 次斐波那契数加上2 次斐波那契数。因此,2.4 个斐波那契数是2 + 0.4 * (3 – 2) = 2.4。 同样,第6.35 个斐波那契数为13 + 0.35 * (21 – 13) = 15.8。 您的任务是找到第n 个斐波那契数,以使n大于或等于0。 您可以执行零索引或一索引,只需说出您正在使用的索引。 …

6
画月相
挑战 给定月亮的相位,请使用ASCII艺术画图。 您的程序必须处理新月,给新月打蜡,第一季度,给凸出的月球打蜡,满月,下降的凸出的月牙,最后一个季度和消散的月牙。您的输入将是一个整数。 0 -> new moon 1 -> waxing crescent 2 -> first quarter 3 -> waxing gibbous 4 -> full moon 5 -> waning gibbous 6 -> last quarter 7 -> waning crescent ASCII图片全部放在16x8网格上(因为字符尺寸比例)。您可以.用任何字符和#任何其他非空白字符替换。 新月的输出应为: ................ ................ ................ ................ ................ ................ ................ ................ 对于新月打蜡: ..........###### ............#### .............### .............### …

7
六角形三角形!
您的任务:制作一个边长为的六边形三角形n,其中n正整数或0。 首先,让我定义一个六边形: / \ | | \ / (惊人的ASCII艺术,对吗?) 六边形可以通过共享边链接在一起: / \ / \ | | | \ / \ / / \ | | / \ / | | \ / 六角形三角形如下: / \ | | / \ / \ | | | \ / \ / 该六边形三角形的边长为2--制作一侧需要六边形。边长为1的六边形三角形仅是一个六边形,边长为0的六边形为空。 更正式地说,六边形三角形是由六边形连接在一起的三角形。顶部六角形在底部两个侧面链接到其下方的两个。左下角的三角形链接到其右侧和右上角的三角形,右下角的三角形链接到其左侧和左上角的三角形。边角之间有六边形,它们的相对侧相连,数量为n-2。三角形未填充。 …

16
解密异或加密
您的任务是将加密的字符串作为输入,并输出解密的字符串,以显示其隐藏消息。 输入和输出字符串都将包含以下64个ASCII字符列表中的字符(请注意前导空格): !"#$%&'()*+,-./0123456789:;=?@[\]^_abcdefghijklmnopqrstuvwxyz|~ 这些字符按上面列出的顺序分配了编号: ! " # $ % & ... 0 1 2 3 4 5 6 ... 因此,空格是数字0,!数字1和~数字63。这些数字可以用6位二进制代码表示: : 0: 000000 !: 1: 000001 ": 2: 000010 #: 3: 000011 .. ... ...... z: 61: 111101 |: 62: 111110 ~: 63: 111111 加密非常简单: 我将使用eC加密字符和C原始字符串的字符。C(n)是原始字符串的eC(n)第n个字符,而是加密字符串的第n个字符。 您将使用字符的6位二进制表示形式。第一个字符为eC(0) = not(C(0))。从那里开始,所有字符均为eC(n) = …

20
包含数字的单词
数字单词是一个单词,在其中可能删除了一些字母之后,剩下的数字只有一个:一个,两个,三个,四个,五个,六个,七个,八个或九个(不是零)。 例如,BOUNCE和ANNOUNCE是数字字,因为它们包含数字1。 即使ENCODE包含O,N和E,但它们也不是数字字,因为它们的顺序不正确。 编写一个程序/函数,该程序/函数将单个(大写或小写–您选择)的单词作为输入或参数,并确定它是否为数字单词。使代码尽可能短。 如果该单词不是数字单词,则应返回“ NO”,0或任何“假”值(这可能会因您的语言而异)。如果单词是数字单词,则应将其包含的数字输出为数字。 您可以假设单词的位数不超过一个,因此您不会有ONFIVE之类的东西。 测试用例 BOUNCE 1 ENCODE NO EIGHT 8 BLACKJACK NO FABULOUS NO EXERCISE NO DRIFTWOOD 2 SERVICEMAN 7 INSIGNIFICANCE 9 THROWDOWN 2 ZERO NO OZNERO 1 这个挑战来自BIO 2009的问题1(只是对它的微小修改)。大多数测试用例均来自评分方案。
20 code-golf  string 

1
良好的振动
Theremin的声音在The Beach Boys歌曲中永垂不朽 Good Vibrations”中。许多人还将其声音与原始《星际迷航》系列的主题相关联,尽管显然这是女高音的模仿。 这个挑战要求您实施Theremin。 输入值 从鼠标或其他输入设备(例如,可以使用操纵杆)进行二维输入,这将从音频输出设备产生音调,如下所示: 增加x将增加音调的频率。请注意,频率随着音符呈指数增加,因此必须在鼠标x位置和音符之间实现线性关系,并且 增加y将增加音调的音量。 真实的人体产生的波形似乎有些混乱,因此,为简单起见,必须使用正弦波(或其近似)。 规则 产生的音调必须至少具有2个八度音阶范围。更大的范围是可以接受的。A-440必须在范围内。 为了创建连续可变的频率和幅度的可听外观,从输入设备的两个维度考虑的值范围必须至少为500。实现可以打开一个窗口(至少500x500像素)以从鼠标光标位置读取输入。或者不打开窗口,就可以直接从鼠标或其他输入设备读取坐标。 必须有一种简单的方法来停止程序-组合键,鼠标单击或其他常用输入设备。CTRL-c就足够了。 可以使用任何标准库,只要它们无需其他工作即可完全实现解决方案即可。 Code Golf和I / O的标准规则 您可能会因为鼠标或输入设备失去对输入框的关注而停止。 笔记 由于输出音是动态生成的,因此必须注意确保音是连续波形。即不会因相位或振幅的突然变化而引起咔嗒声或爆裂声。 您可以将输入大小区域限制为500 x 500,但可能更大。 这是代码高尔夫球,因此任何语言中的最短答案都可以胜出。 特别感谢 特别感谢Digital Trauma提出的挑战并将其发布在Secret Santa's Sandbox中。我做了一些编辑,这是原始帖子。
20 code-golf  music 

30
交织反转
给定一个字符串,交错插入即可。这是针对abcdefghi和和abcdefghij0索引的方法: 将偶数索引的字符与奇数索引的字符分开:acegi bdfh acegi bdfhj 以奇数索引反转字符:acegi hfdb acegi jhfdb 再次交织成一个字符串:ahcfedgbi ajchefgdib 规则 您必须同时支持偶数长度和奇数长度的字符串。 从0索引角度来看,您必须以奇数索引而不是偶数反转字符。 当然,以1索引为单位,您必须以偶数索引而不是奇数反转字符。 输入将包含可打印的ASCII(代码点32-126),没有换行符。 您可以将输入作为字符串或字符列表(非1个字符的字符串)。例如String/ char[]或char*允许,但String[]/ char[][]或char**不允许。 测试用例 Input Output Hello, World! HdlroW ,olle! Hello World! H!llooW rlde ABCDEFGHIJKLMNOPQRSTUVWXYZ AZCXEVGTIRKPMNOLQJSHUFWDYB !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ }"{$y&w(u*s,q.o0m2k4i6g8e:c<a>_@]B[DYFWHUJSLQNOPMRKTIVGXEZC\A^?`=b;d9f7h5j3l1n/p-r+t)v'x%z#|!~ P P AB AB xyz xyz 对于空字符串,返回空字符串本身。
20 code-golf  string 

8
找出多项式
我们知道f是具有非负整数系数的多项式。 给定f(1)和f(1 + f(1))返回f。您可以将f输出为系数列表,ASCII格式的多项式或类似形式。 例子: f(1) f(1+f(1)) f 0 0 0 1 1 1 5 75 2x^2 + 3 30 3904800 4x^4 + 7x^3 + 2x^2 + 8x + 9 1 1073741824 x^30

30
读取密码
您的挑战是从键盘/标准输入中读取“密码”。 挑战: s看不见字符串。 对于其中的每个字符s,请打印一个字符c。 实时。 规则: 您必须c实时打印。用户输入字符后,您必须立即显示c。 c 必须为常数,即必须为相同字符。 c可以是任何可见字符(即不能是换行符,空格,制表符或不可打印的字符)。 c不能基于s,即c必须在s读取之前定义/常量。 c 每次运行程序时都必须相同。 cs只要遵守其他所有规则,就可以是其中的字符之一。 除了之外,所有字符都不会s出现在屏幕上c(请参阅上一条规则)。 您可以使用任何合理的输入和输出方法,只要遵循所有其他规则即可。 您可以假设的长度s永远不会超过终端/图形窗口的宽度。 如果使用终端,则应在输入换行符或EOF后终止程序。 范例: 如果swas password01和cwas *,输出将类似于: 优胜者: 每种语言中提交时间最短的作品将获胜。
20 code-golf  string 

30
确定数组是否包含2以外的值
取一个由数字或数组组成的数组,如果只包含2s 则输出。 输出应为真或假值(很抱歉,如果这样会破坏答案) 真实的测试案例 [2] [2,2] [[2],[2,2],2] [] [[],[]] 虚假测试用例 [1] [22] [2,2,2,1] [[1,2],2] 禁止使用标准漏洞。 默认IO规则适用。 代码高尔夫球,最少字节获胜!

10
连接四个验证器
介绍 Connect Four是一款您尝试连续获得四个的游戏:水平,垂直或对角线。在此代码高尔夫球中,我们将尝试确定给定游戏板的人。永远只有一名获胜者,而只有一名获胜者。 任务 给定一个四连板,确定谁是赢家:X或Y。永远只有一名获胜者,而只有一名获胜者。面板尺寸将始终为6 x 7,就像游戏板上的图片一样。 给定一个板,以下板在这种情况下X为红色和Y蓝色: 您的输入将是: OOOOOOO OOOOOOO OOOOOOO OOOOXOO OOOXXOO OOXYYYY 您可以按换行符(如上)分隔游戏的行,不使用分隔符,可以将行划分为数组或列表,也可以输入字符矩阵。 此示例的正确输出: Y Y连续四个;因此,Y是赢家。因此,我们输出Y。 测试用例 输入: OOOOOOO OOOOOOO OOOOOOO OOOOOOO OOYYOOO OYXXXXO 输出: X 输入: OOOOOOO OOOOOOO OOOOOOO XXXXOOO YXYYOOO YXYYXYX 输出: X 输入: YXYYXOO XYXXYOO XXXYYOO YYYXXOO XXYYYYO XXYYXXO 输出: Y 输入: OOOOOOO OOOOOOO …

5
> <>没水了
通过&gt; &lt;&gt;(一种深奥的编程语言)的代码游泳的心爱的鱼已被带出自然环境。这种变化使它无法像过去那样四处移动:过去的环形运动仅限于简单的从左到右运动。但是仍然编写程序,好像鱼能够通过它们。亲爱的程序员,您的任务是编写程序来线性化&gt; &lt;&gt;程序。并尽可能减少字节数;鱼没有很大的记忆。 在&gt; &lt;&gt;中移动 在&gt; &lt;&gt;中,移动是环形的,一次只能移动一个字符。这意味着鱼(指针)可以从一行的结尾“回到”开头。在&gt; &lt;&gt;中,与大多数指针移动的方式相比,鱼还能够从上到下,从下到上和从右到左移动。因此,此移动方式将是有效的: &gt;&gt;&gt;^ &gt;&gt;&gt;v &gt;&gt;&gt;^ v 并以无限循环结束(一旦它越过底部无限循环回到顶部)。 鱼在长度等于max(行长)且高度等于行数的网格中移动。 您如何找出鱼移动的方式?这些命令改变了运动的方向向量(例如,(-1,0)从右到左的意思): Command | Direction Change --------------------------- &gt; | (1,0) (default) &lt; | (-1,0) ^ | (0,1) v | (0,-1) / | (x,y) -&gt; (y,x) \ | (x,y) -&gt; (-y,-x) | | (x,y) -&gt; (-x,y) _ | …
20 code-golf  grid 

18
画我(怪异)的单位圈!
介绍 您可能知道并喜欢您的普通单位圈子。但是数学家疯了,因此他们把这个概念抽象到可以满足的任何程度x*x+y*y=1。因为密码学家1也很奇怪,所以他们喜欢有限的场,有时还喜欢有限的环(虽然他们没有太多选择),所以让我们结合一下吧! 挑战 输入值 您喜欢的编码中大于1的正整数。我们称这个数字为n。 输出量 您将使用“ X”(大写拉丁字母X)和“”(空格)将单位圆的“图片”(由n个n个字符组成)以ASCII-Art模输入整数。允许使用尾随空格和换行符。 更多细节 您必须从左下到右上跨一个坐标系。只要一个点满足圆方程,就在该位置放置一个X,否则放置一个空格。 将点视为圆形边界一部分的条件是: mod(x*x+y*y,n)==1。 这里是坐标系的快速说明: (0,4)(1,4)(2,4)(3,4)(4,4) (0,3)(1,3)(2,3)(3,3)(4,3) (0,2)(1,2)(2,2)(3,2)(4,2) (0,1)(1,1)(2,1)(3,1)(4,1) (0,0)(1,0)(2,0)(3,0)(4,0) 如果有帮助,您也可以反转任意轴的方向,但是示例均采用这种方向。 谁赢? 这是代码高尔夫球,因此以字节为单位的最短代码获胜!仅允许使用默认的I / O方法,并且禁止所有标准漏洞。 例子 输入2 X X 输入3 X X XX 输入5 X X X X 输入7 X X X X X X X X 输入:11 X XX X X …

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.