编程拼图和代码高尔夫

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

15
逆转魔方算法
每当您在魔方魔方上移动时,都会有一个反向移动,它会撤消第一个移动。因此,每个算法(一组动作)都有一个反向算法,该算法会取消第一个算法。 这项挑战的目标是找到给定算法的反面。 规格: 输入包含单个动作的数组。每一步都是一个长度为1或2的字符串。当然,您可以使用最适合您的语言的任何输入格式。每个动作都由结构X或X'或组成X2,其中X是大写或小写字母。 要反转X,只需将其替换为X'。同样,X'变为X。X2另一方面不会改变。 若要创建输出,请反转每个动作,然后反转数组。 示例(用空格分隔的字符串): R => R' D U' => U D' S T A C K => K' C' A' T' S' A2 B2 => B2 A2 得分: 这是代码高尔夫球,因此赢得的字节数最少。不允许出现标准漏洞。

3
命名强子
挑战 给定粒子的夸克成分作为输入,请输出相应的强子名称。 夸克用大写字母表示,反夸克用小写字母表示。 夸克可以是任何顺序,不一定是下面给出的顺序。 内置功能不允许访问有关粒子和/或夸克的数据。 您将获得的唯一夸克是U(向上),u(反向上),D(向下),d(反向下),S(奇怪),s(反距离),C(魅力),c(抗伤害),B(底部或美女),b(反底或反美)。 强子及其夸克成分清单 请注意,尽管还有其他许多强子,例如五子夸克和胶球等,但您只需要支持以下列表中给出的强子 重子(QQQ)和反重子(qqq) 括号中的名称是粒子的替代名称。您可以输出任何一个名称。 Input - Output UUU - delta++ uuu - antidelta++ UUD - delta+ (proton) uud - antidelta+ (antiproton) UDD - delta0 (neutron) udd - antidelta0 (antineutron) DDD - delta- ddd - antidelta- UUS - sigma+ uus - antisigma+ UDS - sigma0 …

12
这个多边形的面积是多少?
计算多边形的面积。 受此鞋带算法视频启发。 任务 您的工作是创建一个程序或函数来计算多边形的面积。程序或函数是根据meta中的默认定义定义的。 输入项 您将收到多边形每个顶点的X和Y坐标。您可以将输入作为元组列表([[x1, y1], [x2, y2], etc]),矩阵或平面列表([x1, y1, x2, y2, etc])。也允许分别包含x和y坐标的两个列表。顶点按逆时针编号,并且第一个顶点与提供的最后一个顶点相同,因此关闭了多边形。 如果需要,您可以输入没有最后一个顶点的输入(因此只接收一次每个坐标)。 您可以假定多边形的边缘不相交。您还可以假定所有顶点都具有整数坐标。 输出量 多边形的面积。允许所有标准输出方法。如果您的语言不允许进行浮点除法,并且解决方案不是整数,则可以返回分数。分数不必一定要简化,因此2/4将允许返回。 获奖标准 最短的代码胜出! 测试用例 [[4,4],[0,1],[-2,5],[-6,0],[-1,-4],[5,-2],[4,4]] 55 [[1,1],[0,1],[1,0],[1,1]] 0.5 1/2

14
从1到n计数而没有任何连续数字
目标 您会得到一个整数n(n > 1)。你必须输出的整数的许多排列如何1以n有它启动1,在年底n,不具有相差1两个连续的整数。 或者,如果您拍摄完整的图形K_n并删除路径的边缘,则1-2-3-...-n必须在其余图形中计算从1到的哈密顿路径n。 这些示例将f(n)用于一个函数,该函数接受n并输出有效排列的数量,但是您提交的内容可以是一个函数或一个程序。 例子 对于n = 6,可能的解决方案是1-3-5-2-4-6 但是,1-3-5-2-6-4这不是有效的解决方案,因为它没有以结尾6。 实际上,对于n = 6,只有2个解决方案(1-4-2-5-3-6另一个是)。 因此f(6) = 2。 对于n = 4开始于1和结束于的唯一排列4是1-2-3-4和1-3-2-4。在这两个中,都与2相邻3,从而给出相差1的连续整数f(4) = 0。 测试用例 f(6) = 2 f(4) = 0 f(8) = 68 f(13) = 4462848 获奖标准 这是代码高尔夫球,答案最短。

30
冗余布尔
介绍 传统上,布尔值是一位;true或false,1或0。前导零将是多余的。例如,001表示与相同00001或1。 32位布尔 给定一个true / falsey值,将等效的32位布尔值作为字符串输出。(或作为数字,如果由于某种原因您的语言支持前导零。) 您的程序不必对每种真假类型都有效,而只需要对您的编程语言最有效。 示例输入/输出 Input >> Output truthy >> 00000000000000000000000000000001 falsey >> 00000000000000000000000000000000 这是代码高尔夫球,因此最低字节获胜!
19 code-golf  string 

30
从偶数中减去赔率
给定一个非负整数,返回其偶数位和与奇数位之和之间的绝对差。 默认规则 适用标准漏洞。 您可以通过任何标准的输入/输出方法进行输入并提供输出。 您可以将输入作为字符串,整数或数字列表。 这是代码高尔夫球,因此每种语言中以字节为单位的最短代码胜出! 测试用例 输入〜>输出 0〜> 0(| 0-0 | = 0) 1〜> 1(| 1-0 | = 1) 12〜> 1(| 2-1 | = 1) 333〜> 9(| 0-(3 + 3 + 3)| = 9) 459〜> 10(| 4-(5 + 9)| = 10) 2469〜> 3(|(2 + 4 + 6)-9 | = …

9
前缀表示法到后缀表示法
免责声明:不,这不是反向字符串的笑话。 任务 仅支持一种操作:减法(-)。 您还只有两个原子要支持:零(0)和一个(1)。 在这里,前缀符号-AB等效于后缀符号AB-,其中A和B是表达式。 您的任务是(递归)将前缀表示形式的表达式转换为后缀表示形式中的等效表达式。 定义 以下语法生成前缀表示形式的表达式: S > -SS S > 0 S > 1 以下语法生成后缀表示形式的表达式: S > SS- S > 0 S > 1 例 Prefix notation: --01-0-01 Parentheses: -(-01)(-0(-01)) Convert: (01-)(0(01-)-)- Postfix notation: 01-001--- 规则与自由 您可以将操作和原子重命名为任何字符,只要它是一致的即可。 输入格式必须与输出格式一致(除了输入为前缀表示法而输出为后缀表示法之外)。 测试用例 Input Output 1 1 0 0 -01 01- …
19 code-golf  string 

30
打印堆栈交换图标
挑战 打印或返回Stack Exchange网站图标,如下所示: ___________________ / \ --------------------- | | --------------------- | | --------------------- \__________ _____/ | / | / |/ 这是代码高尔夫球,因此每种语言中最短的答案将获胜。

26
使弦波
给定字符串作为输入,使用以下算法输出字符串: 1. Split the String by " " (find the words): "Hello World" -> ["Hello","World"] 2. Find the vowel count of each component: [2,1] ( ["H[e]ll[o]","W[o]rld"] ) 3. For each of the components, output the first n letter where n is the number of vowels it contains: ["He","W"] 4. Join …
19 code-golf  string 

30
与数字根相反!
也称为[模拟根] (与数字根相反!);) 数字的数字根是数字的连续求和,直到成为单个数字为止,例如,计算89456的数字根是这样的: 8 + 9 + 4 + 5 + 6 = 32 3 + 2 = 5 89456的数字根为5。 给定一个数字作为通过STDIN的输入,请打印/返回具有该数字根的所有可能的两个数字。如果需要,它可以包含自身,例如05 这些是所有可能的输入和输出: (您可以选择是否为数字本身包括前导零) 输入输出 0 => 0或00或全无 1 => 01和/或1、10、19、28、37、46、55、64、73、82、91-确保1不返回100 2 => 02和/或2、11、20、29、38、47、56、65、74、83、92 3 => 03和/或3、12、21、30、39、48、57、66、75、84、93 4 => 04和/或4,13,22,31,40,49,58,67,76,85,94 5 => 05和/或5、14、23、32、41、50、59、68、77、86、95 6 => 06和/或6、15、24、33、42、51、60、69、78、87、96 7 => 07和/或7、16、25、34、43、52、61、70、79、88、97 8 => …

20
对角线求和
以正整数矩阵为输入,并通过矩阵输出对角线上的元素的各个和。 您只能计算对角线向下和向右的线。您必须从仅包含左下角元素的对角线开始,然后从其上方的长度为2的对角线开始(如果存在),依此类推,直到仅包含右上角元素的对角线,如下所示。 例: Input: 8 14 5 1 10 5 5 8 6 6 8 10 15 15 4 11 Output: 15, 21, 20, 32, 29, 13, 1 (Diagonals: {{15},{6,15},{10,6,4},{8,5,8,11},{14,5,10},{5,8},{1}}) Input: 1 Output: 1 Input: 1 5 Output: 1, 5 Input: 4 1 Output: 1, 4 Input: 17 4 5 …
19 code-golf  math  matrix 

6
Anaglot语法图
任务 用n种不同的语言编写一些可以重新排列到n个不同程序中的代码,每种输出从1到n的不同数字。 没有两种语言应该是相同的,但是只要它们具有不同的主要版本号,“相同语言”的不同版本将被视为不同的语言。对于这一挑战,REPL环境与其父语言没有区别,但仍然是一种语言。每种语言应在源代码的不同排列上运行,并在范围内输出不同的数字。 排列将以字节为单位,而不以字符为单位。 您应该包括使用测试所使用的语言运行的每个排列。 计分 您的分数将是 其中N是语言数,L是程序字节的唯一顺序数。 L不等于程序的长度 (除非程序为1或0字节) 这是计算Conor O'Brien的L的Python脚本。 当且仅当程序中没有重复的字节时,L才等于程序阶乘的长度。 目标是最大化您的分数。

30
字符串中字符的最长运行时间
您面临的挑战:编写一个函数,该函数需要一个字符串s,一个字符c,并找出cin中最长运行的长度s。运行的长度为l。 规则: 如果s长度为0或c为空,l则应为0。 如果cin 中没有实例s,l则应为0。 适用标准漏洞和标准I / O规则。 无论在s s的运行c位置位于何处,l都应相同。 s和中可以出现任何可打印的ASCII字符c。 测试用例: s,c --> l "Hello, World!",'l' --> 2 "Foobar",'o' --> 2 "abcdef",'e' --> 1 "three spaces",' ' --> 3 "xxx xxxx xx",'x' --> 4 "xxxx xx xxx",'x' --> 4 "",'a' --> 0 "anything",'' --> 0 优胜者: 与代码高尔夫球一样,每种语言中最短的答案将获胜。
19 code-golf  string 

11
七十七七
给定一个数n和上限值l的列表,可以由两个或多个数字组成的相乘来创建的数字仅第七集长度的n是小于或更少l。A161145即将解决此挑战,但是,您将不包括7、77、777、7777、77777等。 例子 n=anything, l<49 会导致: [] n=1, l=49 会导致: 7*7=49 f(1,49)=[49] n=1, l=343 会导致: 7*7 =49 7*7*7 =343 f(1,343)=[49,343] n=2,l=6000 会导致: 7*7 =49 7*7*7 =343 7*7*7*7=2401 7*77 =539 7*7*77 =3773 77*77 =5929 f(2,6000)=[49,343,539,2401,3773,5929] n=3, l=604000 会导致: [49, 343, 539, 2401, 3773, 5439, 5929, 16807, 26411, 38073, 41503, 59829, 117649, 184877, …

9
电话号码乱码
您知道如何收到语音邮件,并且此人的联系不好,并且您正在尝试找出如何回叫他们,但是您不确定他们是“ 5”还是“ 8”说过? 这就是挑战。 好消息是,呼叫者两次读出了他们的电话号码,但两个地方都出现了乱码。 您的程序应采用这样的输入: 5551231234 / 5551231234 前十位数是语音邮件中第一次说出电话号码的地方,而第二组是第二次语音电话中说出来的号码。只有...看起来会更像这样: 555?ABC1_36? / 55?522_1?234 一个数字后跟一个问号意味着该数字是最好的猜测(例如,“ 5?”表示“可能是5,与重复比较”)。 下划线表示一个已知的丢失数字,该数字由于静电而变得模糊不清,根本无法解密。 字母就是:字母。将它们视为各自的数字 ABC-> 2,DEF-> 3,GHI-> 4,JKL-> 5,MNO-> 6,PQRS-> 7,TUV-> 8,WXYZ-> 9 所有示例输入均使用大写字母(您可以安全地忽略ToUpper()调用) 如果您的语言在小写形式下效果更好,则可以自由使用小写形式输入,并忽略ToLower()调用。只需在您的答案中注明即可。 您还可以假设以下判断调用: 5? / _ -> 5 //5 is the best guess we have, use it 5? / 5? -> 5 //uncertain, but …
19 code-golf  cipher 

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.