Questions tagged «code-golf»

Code-golf是在最小的源代码字节中解决特定问题的竞赛。

2
这是有效的棋步吗?
备用名称: ChessMoveQ 给定最多包含32个元素的列表,每个元素由4个元素组成,以及具有4个元素的第二个列表,请确定第二个输入中详细说明的移动是否是有效的国际象棋移动。 第一个列表指示所有32个部件在板上的位置。每个元素都将遵循结构<colour>, <piece-name>, <x-coord>, <y-coord>,例如["W", "K", 5, 1],它指示白色国王在上面5, 1(e1在正常的棋盘上)。第一个输入的所有元素都是唯一的。<x-coord>并且<y-coord>始终在1到8之间。一个示例是: [["B", "K", 3, 8], ["B", "Q", 1, 5], ["B", "N", 4, 7], ["B", "N", 7, 8], ["B", "B", 2, 4], ["B", "R", 4, 8], ["B", "R", 8, 8], ["B", "P", 1, 7], ["B", "P", 2, 7], ["B", "P", 3, …

2
给我一些问题来解答!
介绍 有时候我很无聊,关于PPCG并没有新的问题,所以我希望您从PPCG的过去中随机抽取一个问题。 挑战 给定用户的PPCG ID作为输入(例如,我的ID为30525),输出随机选择的PPCG问题的URL。如果问题不符合以下条件,则必须选择另一个问题,直到满足条件: 问题提问者不能是为其问题输入ID的用户 输入其问题ID的用户一定不能回答该问题 这个问题一定不能回答:这可能太难了 这个问题不能有10个以上的答案:这可能太容易了 该问题必须标记为代码高尔夫 规则 不允许使用URL缩短器。 您可以使用Stack Exchange API和Stack Exchange Data Explorer。 您只会获得真实的PPCG用户ID。 万一没有合适的问题,您不必输出任何东西(未定义的行为就可以了)。 侧面挑战 尽管不会获得加分,但是如果有人设计了可用的书签,则该书签会在运行时打开浏览器窗口,显示符合上述条件的随机PPCG问题,我们将不胜感激。用户ID应该被硬编码到程序中(仅用于书签)。 挑战 以字节为单位的最短代码获胜。

5
二进制卷积
二进制卷积由数字描述M,并应用于数字N。对于的二进制表示形式中的每个位M,如果将该位设置为(1),则通过将与相应位中的相应位相邻的两个位进行XOR N(在必要时进行环绕)来给出输出中的相应位。如果未设置该位(0),则输出中的相应位由中的相应位给出N。 一个有效的示例(具有8位值): 让N = 150,M = 59。它们的二进制表示形式分别为10010110和00111011。 根据M的二进制表示形式,卷积0、1、3、4和5。 位0的结果由对位1和7进行XOR运算得出(因为我们进行了环绕),得出1。 位1的结果由位0和2的XOR运算得出0。 位2的结果由原始位2给出,即1。 第3位的结果由第2位和第4位的XOR运算得出0。 位4的结果由位3和5的XOR运算得出0。 第5位的结果由第4位和第6位的XOR运算得出1。 位6和7的结果由原始位6和7给出,得出0和1。 因此,输出为10100110(166)。 挑战 给定N和M,输出执行Mon上描述的二进制卷积的结果N。输入和输出可以采用任何方便,一致且明确的格式。N并且M将始终在(包括)范围内[0, 255](8位无符号整数),并且应将其二进制表示形式填充为8位以执行二进制卷积。 测试用例 150 59 -> 166 242 209 -> 178 1 17 -> 0 189 139 -> 181 215 104 -> 215 79 214 -> 25 190 207 -> 50 61 …
15 code-golf  binary  integer  bitwise  code-golf  rational-numbers  code-golf  string  palindrome  code-golf  ascii-art  code-golf  code-golf  string  fibonacci  code-golf  math  sequence  code-golf  code-golf  string  palindrome  code-golf  string  code-golf  math  primes  source-layout  code-golf  sequence  binary  integer  code-golf  math  arithmetic  game  code-golf  restricted-source  palindrome  code-golf  restricted-source  palindrome  code-golf  combinatorics  binary  code-golf  string  math  code-golf  ascii-art  number  code-golf  cipher  code-golf  base-conversion  counting  code-golf  sequence  random  classification  code-golf  string  subsequence  code-golf  permutations  code-golf  string  code-golf  string  cipher  code-golf  kolmogorov-complexity  arithmetic  integer  code-golf  quine  markov-chain  code-golf  string  code-golf  code-golf  ascii-art  maze 

18
如何轻松减肥?
在这个问题上,尽管减肥的方法仍然很多,但我们只会专注于通过运动来减肥。 不同的运动会消耗不同量的卡路里。 例如,打台球一个小时可以燃烧102卡路里[1],而打篮球15分钟可以燃烧119卡路里[1],至少从某些角度来看,这使打篮球更容易减轻体重。 衡量舒适度的确切方法是将燃烧的卡路里量除以所需的时间,从而得出舒适度指数(EI)。 例如,击剑15分钟可以燃烧85卡路里的热量,EI为85/15。 您将获得以下格式的列表: [["fencing",15,85],["billiards",60,102],["basketball",15,119]] 或您想要的其他格式。 然后,您将输出具有最高EI的运动。 TL; DR 给定一个元组[name,value1,value2]输出列表,name其中where value2/value1最高。 约束条件 您可能不会在该过程中产生任何非整数的实数。 您不得使用任何内置分数。 规格(规格) 如果满足该结果的名称不止一个,则可以输出它们的任何非空子集或它们的任何元素。 该名称将与regex匹配/^[a-z]+$/,这意味着它仅由小写的拉丁文标准字母组成。 该列表将不会为空。 测试用例 输入: [["fencing",15,85],["billiards",60,102],["basketball",15,119]] 输出: basketball 参考文献 http://calorielab.com/burned/

8
为Hello World建立多语言
产生一个打印“ Hello World!”的文本文件。在编译/解释时以尽可能多的编程语言编写,同时也要尽可能简短。 您提交的分数的计算方式为C / 2 ^ ((L - 1) / 4),其中“ C”是文本文件的长度(以字符为单位),“ L”是该程序有效的语言数量。

3
排列组运算
在n个元素的排列与数字0到n!-1之间存在众所周知的双射,使得排列与相应数字的字典顺序相同。例如,n = 3: 0 <-> (0, 1, 2) 1 <-> (0, 2, 1) 2 <-> (1, 0, 2) 3 <-> (1, 2, 0) 4 <-> (2, 0, 1) 5 <-> (2, 1, 0) 还众所周知,n个元素的排列形成一个组(阶为n!的对称组)-因此,尤其是,将n个元素的一个排列应用于n个元素的第二个排列将产生n个元素的排列。 例如,将(1、0、2)应用于(a,b,c)收益率(b,a,c),因此将(1、0、2)应用于(2、1、0)收益率(1、2 ,0)。 编写一个使用三个整数参数的程序:n,p1和p2;将p1和p2解释为n个元素的排列;将第一个应用于第二个;并输出相应的整数。例如: $ ./perm.sh 3 2 5 3

7
定义一个包含256个元素的字段
甲字段在数学是一组数字,与在其上定义,使得它们满足特定公理加法和乘法操作(Wikipedia中所述;也见下文)。 有限域可以包含p n个元素,其中p素数和n自然数。在这个挑战中,让我们接受p = 2和n = 8,让我们创建一个包含256个元素的字段。 该字段的元素应为包含0和的范围内的连续整数1: -128 ... 127 0 ... 255 或任何其他此类范围 为抽象的“加法”和抽象的“乘法” 定义两个函数(或程序,如果更容易的话),a(x,y)以m(x,y)使它们满足字段公理: 一致性:a(x,y)与m(x,y)时同参数调用产生相同的结果 闭性:结果a和m在相关范围内的整数 关联性:对于任何x,y并且z在范围内a(a(x,y),z)等于a(x,a(y,z));一样m 交换性:对于任何x和y范围内的,a(x,y)是等于a(y,x); 一样m 分布:对于任何x,y并且z在范围内,m(x,a(y,z))等于a(m(x,y),m(x,z)) 中性元素:对于x范围内的任何元素,a(0,x)等于x,并且m(1,x)等于x 否定:对于任何x在的范围内,存在着这样的y即a(x,y)是0 逆:对于任何x≠0在的范围内,存在着这样的y即m(x,y)是1 名称a和m只是示例;您可以使用其他名称或未命名的函数。答案的分数是和的字节长度之a和m。 如果您使用内置函数,也请用文字描述它产生的结果(例如,提供一个乘法表)。

20
打印/输出所有正数,其中十进制表示形式的每个多位数字子字符串也为质数。
任务 您的任务是打印或输出所有正数,其中十进制表示形式的每个多位数字子字符串也都是质数。如果该数字至少包含2位数字,则意味着该数字本身也需要为质数。 例 6197是序列中,因为每一个多位数的子串6197是素数,即:61,19,97,619,197,6197(本身)。 请注意,这6不是质数,但6197仍处于序列中,因为6它不是的多位数子串6197。 8也处于序列中,因为其中的每个多位数字子串8都是质数。里面没有多位数的子串8,所以这是虚无的事实。 眼镜 除了允许您对输出进行硬编码或将与输出有关的信息存储在程序中之外,存在标准漏洞。 输出中的数字可以任意顺序。 输出中的数字允许重复。 如果选择打印而不是输出,则可以使用任何分隔符。 你是允许的,如果你选择要打印的,而不是输出到前缀和/或后缀输出。 分隔符,前缀和后缀不得包含任何数字(U + 0030至U + 0039)。 全部列表(58个项目) 1 2 3 4 5 6 7 8 9 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 113 131 …

11
找到最伟大的路线
您将得到一个由整数组成的二维数组A,长度为N。您的任务是在数组中找到N个元素的直线(水平,垂直或对角线),该直线产生最高的总和,然后返回该总和。 例 N = 3, A = 3 3 7 9 3 2 2 10 4 1 7 7 2 5 0 2 1 4 1 3 该数组有34条有效行,其中包括 Vertical [3] 3 7 9 3 [2] 2 10 4 1 [7] 7 2 5 0 2 1 4 1 3 [3,2,7] …

15
将光盘上的点随机化
我读过某处的圆圈,现在才了解了光盘(这实际上是一个非常普遍的概念),并想到了代码高尔夫。 您的任务是将半径为1 的光盘上的一个点/几个点随机化。 规则: 所有点的产生概率必须相等 必须使用浮点坐标;最低要求是两位小数(例如点(0.12, -0.45)或(0.00, -1.00)有效) 如果程序实际显示边界圆和其中生成的点,则您将获得-20个字节。坐标仍然必须有效但不能显示,并且生成的图像大小必须至少为201 x 201像素 如果程序将要生成的点数作为标准输入的输入,则得到-5字节 如果您决定不绘制边界圆和点,则程序必须输出在格式(x, y)或格式上生成的点。(x,y)标准输出上 如果您决定将生成的点数作为输入,但不作图,则您的程序必须以上述格式输出所有随机化的点,中间必须有一个空格 以字节为单位的最短提交获胜!

9
我的Scopa手的分数是多少?
我喜欢纸牌游戏的挑战,所以我是为意大利纸牌游戏Scopa制作的。自古以来,我的家人就一直在玩这种游戏。它有一个非常有趣的计分系统,对高尔夫来说应该很有趣。我将在R中发布答案以开始乐趣,我相信人们会有所改善。 挑战:鉴于玩家在这一轮中捕获的卡牌作为输入,计算出Scopa回合中得分的数量。 Scopa牌组中有40张卡片。如果您使用的是国际牌,则删除8、9和10,在每套西装中保留A,2、3、4、5、6、7,Q,J,K。1有两个玩家或合伙企业,每轮比赛结束后,所有纸牌最终被两个玩家中的一个抓获。得分计算如下(此处有更多信息): 卡数最多的玩家得分1分。 拥有最多钻石(如果使用意大利套牌,则为硬币)的玩家获得1分。 拥有7颗钻石(或硬币)的玩家,称为sette bello或漂亮的7颗,得分为1分。 拥有最高级初阶球员的球员得到1分。玩家的原始分数是该玩家在每套西装中捕获的最高价值卡的分数总和(请参见下表)。如果每套西装中至少没有一张牌,即使您的得分超过对手的得分,您也会默认丢失。在极少见的情况下,每位球员都没有至少一张牌的情况下,具有较高初等总得分的球员得分。2 原始评分表 | Rank | Value | | ----- | ----- | | 7 | 21 | | 6 | 18 | | A | 16 | | 5 | 15 | | 4 | 14 | | 3 | 13 | | …

16
这个构造数字的启动器是什么?
许多编程语言通过将数字“连接”到现有数字的末尾来构造大整数。例如,迷宫或Adapt。通过将数字连接到末尾,我的意思是,如果现有数字为454545,并且数字为777,则结果数字为457(45×10+7)457(45×10+7)457\:(45 \times 10 + 7)。 构造的数目是可以通过使用单个数字的倍数来构建这样的数:1,2,3,4,5,6,7,8,91,2,3,4,5,6,7,8,91, 2, 3, 4, 5, 6, 7, 8, 9 AKA在这9个序列中的一个元素: 1,12,123,1234,12345,…1,12,123,1234,12345,…1, 12, 123, 1234, 12345, \: \dots 2,24,246,2468,24690,…2,24,246,2468,24690,…2, 24, 246, 2468, 24690, \: \dots 3,36,369,3702,37035,…3,36,369,3702,37035,…3, 36, 369, 3702, 37035, \: \dots 4,48,492,4936,49380,…4,48,492,4936,49380,…4, 48, 492, 4936, 49380, \: \dots 5,60,615,6170,61725,…5,60,615,6170,61725,…5, 60, 615, 6170, 61725, \: \dots …

9
Fivenum和一点
(一个悖论,一个悖论,一个最巧妙的悖论) 这是受不同R函数启发的多部分系列的第一部分。 任务 给定一个数据集ddD正整数,我需要你计算5号汇总的ddD。但是,我正在处理大型数据集,因此我需要您的代码尽可能小,以便将其存储在计算机上。 这五个数字摘要包括: 最低值 第一四分位数(Q1) 中位数/第二四分位数(Q2) 第三四分位数(Q3) 最大值 定义四分位数的方法有几种,但是我们将使用R实现的方法: 定义: 最小值和最大值:分别为最小值和最大值。 中位数:如果中间值ddD有奇数个条目,和两个中间最值的算术平均值,如果ddD有条目的偶数。请注意,这意味着中位数可能是非整数值。我们之前不得不计算中位数。 第一和第三四分位数:如果ddD的条目数为奇数,则将数据分为两半,包括每一半的中心元素,并找到每一半的中位数。下半部分的中位数是第一四分位数,上半部分的中位数是第三四分位数。 例子: d = [ 1 ,2 ,3 , 4 ,5 ]d=[1个,2,3,4,5]D=[1,2,3,4,5]。中位数为然后333,而下半部分是[ 1 ,2 ,3 ][1个,2,3][1,2,3],得到的第一四分位数222,和上半部是[ 3 ,4 ,5 ][3,4,5][3,4,5],得到的第三四分位444。 d = [ 1 ,3 ,3 ,4 ,5 ,6 , 7 ,10 ]d=[1个,3,3,4,5,6,7,10]D=[1,3,3,4,5,6,7,10]。中值是4.54.54.5,而下半部分是[ 1 ,3 ,3 …

30
向零舍入
这是一个简单的任务。给定正或负实数,将其四舍五入为接近零的下一个整数。 挑战 通过任何正数或负实数的合理形式(stdin,函数等)进行输入。 将此数字四舍五入为“接近零”-这意味着,如果为正数,则将四舍五入;如果为负数,则将四舍五入。 返回该数字或将其输出到控制台。 测试用例 1.1 => 1 -1.1 => -1 500.4 => 500 -283.5 => -283 50 => 50 -50 => -50 规则 这是代码高尔夫,因此最少得分(以字节为单位)获胜。 注意标准漏洞。 玩得开心! 更多吉米挑战即将来临

6
保存我的秘密!
我有很多秘密,无处可保留! 目标很简单:编写一个程序,让您保存字符串并用密码保护它。 该程序将使用别名,密码和(可选)机密作为参数。 如果这是第一次使用给定的别名调用程序,则它将存储/记住机密,并输出所需的内容。 如果使用以前使用过的别名调用该程序,则当密码与使用该别名第一次运行该程序的密码相同时,它将输出该别名的秘密。 其他情况 如果它是第一次使用某个别名被调用而没有给出任何秘密,则不存储任何内容。 如果使用已使用的别名调用程序,并且密码不正确-请返回任何错误或完全不返回任何错误。 如果使用已使用的别名调用该程序,则密码正确并提供了一个新机密-输出旧机密并将其替换为新机密,以便下次仅输出新机密。 如果使用已使用的别名调用该程序,则密码正确且不提供新的密码-输出旧密码并确保不会被替换。 注意:这些机密/密码不需要安全存储 另请注意:别名,密码和机密的任何字母数字输入都应被接受 适用标准规则,祝您好运!

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.