编程拼图和代码高尔夫

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

17
XOR排序数组
给定一个键和一个字符串数组,请对该数组进行混洗,以便在每个元素与该键进行XOR运算时将其排序。 对两个字符串进行异或 要通过键对字符串进行异或,请将该键对中的每个字符值通过键中的对进行异或,以使该键永远重复。例如,abcde^123如下所示: a b c d e 1 2 3 1 2 -------------------------------------------- 01100001 01100010 01100011 01100100 01100101 00110001 00110010 00110011 00110001 00110010 -------------------------------------------- 01010000 01010000 01010000 01010101 01010111 -------------------------------------------- P P P U W 排序 排序应始终按XOR字符串的顺序进行。也就是说,1 < A < a < ~(假设ASCII编码) 例 "912", ["abcde", "hello", "test", "honk"] …

14
一条线穿过的象限
任务 给定线的表示形式,输出该线通过的象限数。 线的有效表示 您可以将一行表示为 三个有符号整数A,B和C,它们不共享公因数,其中A和B都不为零,代表行Ax + By = C, 四个符号整数,,,和,表示通过点线和,或X1Y1X2Y2(X1, Y1)(X2, Y2) 一种描述行的数据类型(如果您的语言有一种)(它必须支持垂直线)。 您可能无法采用不允许竖线的任何格式的输入(例如,截距形式)。如果你选择采取整数作为输入,你可以假设它们位于包容范围内[-127, 128]。 技术指标 输出将始终为0、2或3(一条线永远不能穿过所有四个象限,也不能只穿过一个象限)。 轴上的直线被认为不通过任何象限。穿过原点的线被认为仅穿过2个象限。 您不必返回正在通过的象限(尽管为清楚起见,测试用例包括它们)。 这是代码高尔夫球,因此最短的有效答案(以字节为单位)获胜。 测试用例 使用它们之前,您必须将它们转换为合适的格式。 1x + 1y = 1 -> 3 (quadrants I, II, and IV) -2x + 3y = 1 -> 3 (quadrants I, II, and III) 2x + -3y = …

15
“早起的鸟儿”广场
定义 如果采用正整数平方的序列并将它们连接成一串数字(即149162536496481100...),则“早起的鸟儿”平方是可以在此字符串中超出其自然位置的位置。 例如,尽管自然位置在偏移量10处,但是在字符串的偏移量2处可以找到7 2(数字49)。因此7是第一个“早起的鸟儿”正方形。 请注意,要使其被视为“早起的鸟儿”正方形,正方形中的所有数字必须出现在自然位置开始之前。与自然位置部分重叠的匹配不算在内。 a(n)是第n个正整数k,使得k 2是“早起的鸟儿”正方形。 任务 给定一个正整数n,输出a(n)。 您可以使用基于1或基于0的索引,但是如果您使用基于0的索引,请在回答中说明。 您的解决方案应至少能够处理a(53)(或如果您使用的是基于0的索引a(52))。 测试用例 n a(n) 1 7 2 8 3 21 4 25 5 46 6 97 7 129 8 161 9 196 10 221 ... 13 277 ... 50 30015 51 35000 52 39250 53 46111 参考文献 OEIS A181585

12
打印垂直隔开三列的三列
任务 以空格分隔输入字符串。 按字母顺序对单词进行排序。 将它们垂直打印在3列中,并用空格隔开。 挑战 三列的所有高度均应尽可能均匀地加权。 所有三列都应保持对齐。 这是代码高尔夫球,所以最短的代码获胜! 例 如果输入是: "cat caterpillar pie frog elephant pizza", 输出应为: cat elephant pie caterpillar frog pizza 如果输入以下内容,请当心案件: "a b c d e f g" 应打印为: a c e b d f g # or a d f b e g c # and …
15 code-golf  string 

7
振荡平等
我们的对象在两个整数点之间[l, r]以每时间单位一个单位的速度从lon 开始振荡t=0。您可以假设l < r。例如,如果一个对象在上振荡[3, 6],则我们有: t=0 -> 3 t=1 -> 4 t=2 -> 5 t=3 -> 6 t=4 -> 5 t=6 -> 4 t=7 -> 3 t=8 -> 4 等等,但是物体不断振荡,所以我们还有t=0.5 -> 3.5和t=3.7 -> 5.3。 由于两个物体之间振荡[l1, r1],[l2, r2],确定是否存在过一段时间t,使得这两个对象共享相同的位置。您可以采用l1, r1, l2, r2任何方便的格式,并输出任何真实/错误值。 真实的输入: [[3, 6], [3, 6]] [[3, 6], [4, 8]] …
15 code-golf  array-manipulation  decision-problem  code-golf  math  number-theory  palindrome  integer-partitions  code-golf  math  decision-problem  geometry  code-golf  string  random  code-golf  ascii-art  code-golf  kolmogorov-complexity  primes  code-golf  kolmogorov-complexity  code-golf  graphical-output  code-golf  number-theory  primes  integer  factoring  code-golf  sequence  array-manipulation  integer  code-golf  array-manipulation  matrix  code-golf  sequence  binary  code-golf  game  cellular-automata  game-of-life  binary-matrix  code-golf  string  ascii-art  code-golf  random  generation  logic  code-golf  string  code-golf  code-golf  sequence  array-manipulation  random  apl  code-golf  code-golf  sequence  primes  code-golf  math  sequence  integer  code-golf  number  arithmetic  array-manipulation  decision-problem  code-golf  ascii-art  number  code-golf  restricted-source  quine  code-golf  chess  board-game  code-golf  math  sequence  code-golf  number  sequence  kolmogorov-complexity  code-golf  number  sequence  arithmetic  code-golf  math  number  alphabet  code-golf  ascii-art  classification  statistics  apl  code-golf  array-manipulation  matrix  code-golf  string  kolmogorov-complexity  code-golf  sequence  binary  base-conversion  binary-matrix  code-golf  string  classification  code-golf  tips  python  code-golf  combinatorics  binary  subsequence  restricted-time  code-golf  number  number-theory  code-golf  math  number  complex-numbers  code-golf  string  code-golf  string  code-golf  string  random  game  king-of-the-hill  python  code-golf  number  sequence  code-golf  number  sequence  code-golf  code-golf  math  number  array-manipulation  code-golf  array-manipulation  decision-problem  code-golf  string  code-golf  sequence  integer 

4
改变生活规则
类似于生命的细胞自动机是类似于Conway的“生命游戏”的细胞自动机,因为它们在(理论上)无限大的正方形网格上运行,其中每个单元正好有8个邻居,并且是2个状态之一,即存活和死亡。 但是,这些类似Like的版本在关键方面有所不同:给定单元存活的规则以及给定单元存活到下一代的规则。 例如,经典的“生命游戏”使用规则B3/S23,这意味着需要3个活细胞才能生出一个新细胞,而2或3个活着的邻居才能存活。对于此挑战,我们将假设邻居不包括自身,因此每个单元恰好具有8个邻居。 给定一个初始配置,一个出生规则,一个生存规则和一个正整数(要运行的世代数),您的任务就是使用这些规则模拟生命似的自动机,以尽可能短的代码给出世代数。您可以选择初始配置为方矩阵/ 2维数组或多行字符串。其他可以以任何合理的格式和方法给出。 例如,如果出生规则是12345678(任何居住的邻居),则生存规则是2357,并且初始配置是 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 接下来的两代人 Generation 1: Generation 2: 0 0 0 0 0 1 1 1 1 1 0 1 1 1 …

6
如何用十六进制编码颜色
六边形棋盘格或平面拼贴是三色的-意味着仅使用三种颜色(例如红色,蓝色和绿色),就可以对每个六边形进行着色,而没有任何两个共享颜色边界的六边形。显示这种模式的部分示例。 给定局部ASCII六边形拼贴(通过STDIN,从文件中读取等),请更改字符的颜色(通过ANSI代码,图像处理等)以适合此颜色。扭曲是六边形的中间(*下面的,是三种颜色),并且它们之间的线需要混合使用两种相应的十六进制*颜色。如果线在外边界上,则应与对应*。 例如,给定的部分六角形平铺 / \ / \ / \ / \ | * | * | * | * | \ / \ / \ / \ / | * | * | * | \ / \ / \ / 假设我们决定将左上角的十六进制着色*为红色,并将其两个相邻的着色为蓝色和绿色(顺时针旋转)。然后,该|行需要为洋红色,该/行需要为黄色。如果我们继续着色,我们最终将得到如下所示(为清晰起见,将其放大): 或者,输入 / \ | * | / \ …

14
科学怪人的名字
介绍: 由于快到万圣节了,所以我只是想一些随机的以万圣节为主题的挑战。最终,我阅读了科学怪人的维基百科页面,并看到以下文本: 生物 科学怪人拒绝其创作的部分原因是他没有给它起名字,这导致缺乏身份。取而代之的是用诸如“ wretch”,“ monster”,“ creature”,“ demon”,“ devil”,“ fiend”和“ it”之类的词来指代。当科学怪人在第10章中与该生物交谈时,他称其为“邪恶的昆虫”,“憎恶的怪物”,“恶魔”,“恶魔”和“憎恶的恶魔”。 资源 挑战: 给定两个整数(年份和章节),根据以下规则输出字符串: 如果年份小于1818:输出一个空字符串 † 如果年份恰好是1818,并且该章低于10:输出a 从列表中随机字符串["wretch", "monster", "creature", "demon", "devil", "fiend", "it"] 如果年份恰好是1818,并且章节是10或更高:输出a 从列表中随机字符串["vile insect", "abhorred monster", "fiend", "wretched devil", "abhorred devil"] 是1818年(因此该书出版)以上的年份,归还"Frankenstein's Monster"。 挑战规则: 您可以选择以小写,大写还是组合输出。 年份将始终在范围内 1500-2017 本章将始终在范围内 1-24(如果我用正确的Google搜索,则该书有24章) †相反输出用于选项1一个空字符串,你也允许输出null,undefined,false,0,或者你选择的任何其他价值的其他三个选项不属于(请注明你在你的答案用什么)。 输出中可能不包含任何前导或尾随空格/制表符,也不能包含任何前导新行。它可能包含一个可选的尾随换行符。 通用规则: 这是代码高尔夫球,因此最短答案以字节为单位。 不要让代码高尔夫球语言阻止您使用非代码高尔夫球语言发布答案。尝试针对“任何”编程语言提出尽可能简短的答案。 标准规则适用于您的答案,因此允许您使用STDIN / STDOUT,具有适当参数的函数/方法,完整程序。你的来电。 …

2
绘制半透明框
注意:由于SE字体怪异:P :( 给定一个代表矩形角的四元组列表,以该顺序在彼此之间绘制半透明矩形。 对于此挑战,您需要在左上角具有最小的坐标,并且x轴向右增加,y轴向下增加。 四元组(x0, y0, x1, y1)或(x0, x1, y0, y1)代表(x, y)矩形的左上角和右下角的坐标对(您可以为矩形选择两种格式中的任一种,但必须一致) “半透明矩形”是什么意思?好吧,对于这个挑战,您将使用空格字符和大多数箱形绘图字符。特别是所有用于绘制矩形的矩形,包括“粗体”字符。绘制半透明的矩形时,首先将占据空间的所有细线消失,所有粗线都将变细,然后再用粗线绘制矩形本身。 例如,如果先在左上角绘制一个矩形,然后在右下角绘制一个矩形,则它可能看起来像这样: ┏━━━━┓ ┃ ┃ ┃ ┃ ┃ ┏━━╇━━┓ ┃ ┃ │ ┃ ┗━╉──┘ ┃ ┃ ┃ ┃ ┃ ┗━━━━━┛ 为了清楚起见,严格在矩形内的所有线条的线条都会变亮(粗体->细线->无)(例如,朝下的线条的顶部边缘而不是底部边缘受到影响)。 测试用例 对于每个测试用例,将给出一定数量的输入行,然后是unicode-art。 0 0 5 5 5 5 10 10 3 3 7 7 2 2 8 …

19
自恋数组元素
定义 数组的自恋1整数认为它们比其邻居更好,因为它们严格高于其算术平均值。 邻居的定义如下: 如果整数在索引0(第一个)处,则其邻居为列表的最后一个和第二个元素。 如果该整数不是第一个也不是最后一个,则其邻居是两个紧邻的元素。 如果整数在索引-1(最后一个)处,则其邻居为列表的倒数第二个和第一个元素。 任务 给定整数数组,您的任务是丢弃自恋的整数。 整数可以为正,负或零。 您可以假定该数组至少包含三个元素。 所有标准规则均适用。这是code-golf,因此以字节为单位的最短代码获胜。 例子 考虑数组[6, 9, 4, 10, 16, 18, 13]。然后我们可以建立下表: 元素| 邻居| 邻居的意思 自恋吗? -------- + ------------ + ------------------ + --------- -------- 6 | 13、9 | 11 | 假。 9 | 6、4 | 5 | 真正。 4 | 9、10 | 9.5 …

5
Primus-Orderus素数
他们是谁? Primus-Orderus素数(POP)是素数,它们按素数顺序包含其顺序。 因此nth,要成为POP,质数必须n以某种方式包含所有数字,我将对此进行解释。 例子 让我们弄清楚:的所有数字n必须以它们出现的顺序出现在POP的数字中n 的6469th主要是64679这是POP,因为它包含的所有数字6469以正确的顺序。 1407647是POP,因为它是107647th素数 14968819是POP(第968819个素数),因此此挑战不是 OEIS(A114924) 1327 不是POP,因为它是217th质数(数字的顺序不正确) 挑战 你猜对了! 给定一个整数n,输出nthPOP 测试用例 输入->输出 1->17 3->14723 5->57089 10->64553 29->284833 34->14968819 这是代码高尔夫球,因此最短的答案以字节为单位! 所有这些都应按1索引编制

19
罕见因子数
基于聊天消息 挑战 给定输入数字n > 9,构造其反向数,而忽略前导零。然后,构建一个所有数量均不相同的主要因素的列表。将这些因子相乘以创建输入的非常见因子编号。 或者换一种说法:如果rev(n)表示整数的十进制反转n,请计算的乘积n并rev(n)除以gcd(n, rev(n))。 输出该号码。 工作的例子 例如,2244反转为4422。第一个[2, 2, 3, 11, 17]的素数因子为,反之的素数因子为[2, 3, 11, 67]。不常见的乘数是[2, 17, 67],2278输出也是。 再举一个例子,1234反转为4321。乘积为5332114,GCD为1,因此输出为5332114。 进一步说明 显然,回文数的所有因素与其相反的因素都相同,因此在这种情况下,输出为1(n*n/n^2)。显然,输出也可能是所有因素的乘积(例如,gcd为1 -输入及其反向为互质),如1234示例所示。 规则 可以假定输入和输出适合您语言的本机整数类型。 输入和输出可以任何方便的格式给出。 完整的程序或功能都是可以接受的。如果是函数,则可以返回输出而不是打印输出。 如果可能,请提供一个在线测试环境的链接,以便其他人可以尝试您的代码! 禁止出现标准漏洞。 这是代码高尔夫球,因此所有常见的高​​尔夫规则都适用,并且最短的代码(以字节为单位)获胜。 例子 in out 17 1207 208 41704 315 1995 23876 101222302

17
在3D空间中按线性距离对点进行排序
眼镜 您具有x,y,z大小为S整数单位的立方3D空间,例如0 <= x,y,z <= S。 您可以从获得的默认输入法的点数组P表示x,y,z整数坐标,在任何合理的格式,只要你喜欢,例如:[x1,y1,z1],[x2,y2,z2],[x3,y3,z3] ... [xn,yn,zn]。 所有P值将在上述立方3D空间中,例如0 <= x,y,z <= S。 的总数可能P为。1 <= P <= S3 您还将获得基点和3D立方体大小的x,y,z整数坐标作为输入。 BS 任务 您的目标是以您喜欢的格式输出P按距基准点 的线性(欧几里得)距离排序的点B。 规则 如果发现多个P等距点,则B必须P按您的首选顺序输出所有等距。 一个点P可能与吻合B,因此它们的距离为0,您必须输出该点。 这是一个代码挑战,所以最短的代码胜出。 禁止出现标准漏洞。 代码说明表示赞赏。 测试用例 Input: S (size), [B (base point x,y,z)], [P1 (x,y,z)], [P2], [P3], [P4], [P5], [...], [Pn] 10, [5,5,5], [0,0,0], [10,10,10], …

7
画一些ASCII星
给定臂的大小作为输入,编写一个绘制ASCII星号的程序或函数。 这是一颗大小的星星 1 _/\_ \ / |/\| 这是一颗大小的星星 2 /\ __/ \__ \ / \ / | /\ | |/ \| 这是一颗大小的星星 3 /\ / \ ___/ \___ \ / \ / \ / | /\ | | / \ | |/ \| 等等。 输入值 任何方便格式的一个正整数,n > 0。 输出量 遵循上述规则,以ASCII艺术形式表示星星。前导/尾随换行符或其他空格是可选的,但前提是要正确对齐这些点。 …

2
数学表达式摊牌!
系统会为您提供6个数字:5个数字[0-9]和一个目标数字。您的目标是将运算符散布在数字之间,以尽可能接近目标。你必须使用每个数字恰好一次,可以使用下面的运营商 多达你想要的时间:+ - * / () ^ sqrt sin cos tan。例如,如果给出的话,8 2 4 7 2 65我可以输出82-(2*7)-4。评估结果为64,因此我的得分是1,因为我离目标1分。注意:不能在数字之间放置小数点。 我正在使用此StackOverflow答案中的代码来评估数学表达式。在该问题的底部,可以使用一些程序进行测试。 链接功能(更新!) @mdahmoune揭示了这一挑战的新高度。因此,我要添加一个新功能:链接一元函数。这适用于sin,cos,tan和sqrt。现在sin(sin(sin(sin(10))))您可以写作,而不是写作sin_4(10)。在评估器中试用! 输入值 200个行分隔的5位数字的测试用例和一个目标数字,以空格分隔。您可以使用问题底部的程序来制作示例测试用例,但是我将拥有自己的测试用例以进行官方评分。测试用例分为40个测试的5个部分,目标数量的范围如下: 第1节:[0,1](至5个小数点) 第2节:[0,10](至4个小数点) 第3节:[0,1000](至3个小数点) 第4节:[0,10 6 ](至1个小数点) 第5节:[0,10 9 ](至0个小数点) 输出量 200行分隔的数学表达式。例如,如果测试用例为5 6 7 8 9 25.807,则可能的输出为78-59+6 计分 每个回合的目标是比其他竞争计划更接近目标人数。我将使用Mario Kart 8得分,即:。如果多个答案获得相同的准确分数,则将分数平均分配,四舍五入到最接近的整数。例如,如果并列第5-8位的程序,则它们各自在该回合中获得(8 + 7 + 6 + 5)/ 4 = 6.5 …

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.