编程拼图和代码高尔夫

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

7
伪除数和多态
任务 在这个挑战中,您的任务是用编程语言L编写一个程序,该程序采用正整数n,并输出n的适当除数之和(OEIS上的序列A001065)。它应该返回任何正确的输出1≤N≤10 000。以下是前10个输出: 0, 1, 1, 3, 1, 6, 1, 7, 4, 8 此外,您的程序必须是假的polyglot,这意味着以下内容。它是另一种编程语言的有效程序L”,并且对于每个输入1≤N≤10(测试用例以上),则返回的适当的除数的总和Ñ,但存在一些11≤Ñ000≤10为其它不会返回正确的结果。它可能会返回不正确的内容,永远循环,崩溃等。对于所有n≥11(对于其中的某些n个或仅一个),它都可能给出错误的结果。 规则和计分 您可以编写完整的程序或函数,并且可以使用两种语言使用不同的输入和输出方式。最低字节数获胜。适用标准代码高尔夫球规则。在这一挑战中,一种语言的不同主要版本或实现被认为是不同的。 请注意,如果您使用具有非ASCII编码的编程语言(如本站点上的许多语言),则两种语言都必须使用相同的字节序列。这意味着您必须在可能不同的代码页之间进行转换,或者必须对多字节Unicode字符进行惩罚。 其他测试用例 20 -> 22 36 -> 55 180 -> 366 997 -> 1 2875 -> 869 10000 -> 14211

30
逆向工程从独特性(警察的线程)
给定警察程序(o)的输出,字节数(n)和使用的唯一字节数(c),得出一段相应的代码,该代码n长为c字节,具有与警察的输出相匹配的唯一字节o。 这是警察的线索。在这里发布要破解的解决方案。 该劫匪线位于此处。 警察应该发布这样的解决方案: #[Language], `n` Bytes, `c` Unique Bytes (c*n points) [Cracked](Link-To-Crack) [Output] --- (Optional spoiler) 规则 您可能没有为程序输入任何信息。 该程序必须至少使用1个字节,但不能超过255个字节。 输出本身也限制为255个字节。 多次执行时,程序必须具有一致的输出结果。 如果您提交的内容在7天内没有被破解,则可以将其标记为“安全”。 标记为安全时,张贴预期的解决方案并将其评分为c*n。 仅当您确实希望+15作为可接受的答案时,才将答案标记为“安全” 。看看能走多久会更有趣。 获奖 c*n分数最低的未破解职位赢得了警察的支持。 这将在10个安全答案或几周后决定。 注意事项 如果您感到自大,则可以使用扰流器标签告诉用户该算法。 完整的提交内容: fetch("https://api.stackexchange.com/2.2/questions/147635/answers?order=desc&sort=activity&site=codegolf&filter=!.Fjs-H6J36vlFcdkRGfButLhYEngU&key=kAc8QIHB*IqJDUFcjEF1KA((&pagesize=100").then(x=>x.json()).then(data=>{var res = data.items.filter(i=>!/^#.*cracked/im.test(i.body_markdown)).map(x=>{const matched = /^ ?#{1,3} ?(?:(?:(?:\[|<a href ?= ?".*?">)([^\]]+)(?:\]|<\/a>)(?:[\(\[][a-z0-9/:\.]+[\]\)])?)|([^, ]+)).*[^\d](\d+) ?\[?(?:.*(?:byte|block|codel)s?)(?:\](?:\(.+\))?)? ?(?:\(?(?!no[nt][ -]competing)\)?)?/gim.exec(x.body_markdown);if(!matched){return;}return {link: x.link, …

22
环绕我,救救我
给定输入后n,您的程序或函数必须输出最小的正整数k,以便n四舍五入到的最接近倍数k大于n。 例。 给定输入20,输出值应为3: 最接近的倍数1就是20,这是不大于20。 最接近的倍数2就是20,这是不大于20。 最接近的倍数3就是21,这是大于20,所以它是输出。 测试用例 #Input #Output 2 3 4 5 6 4 8 3 10 4 12 7 14 3 16 6 18 4 20 3 22 4 24 5 26 3 28 5 30 4 32 3 34 4 36 8 38 3 40 6 42 …
23 code-golf  number 

14
我可以安顿下来吗?
在“卡坦殖民者”棋盘游戏中,有五种资源类型:砖块,原木,矿石,小麦和绵羊。建立定居点需要花费砖块,原木,小麦和绵羊。但是,您也可以交换四个相同的资源来获取不同类型的资源。例如,如果您手中有四个矿石,则可以将所有矿石换成一只羊。 您的工作是确定我是否可以建立解决方案。 你的任务 输入将是字母的顺序B,L,O,W,和S,采取任何合理的格式。这些字母对应于上面给出的五种资源类型。考虑到进行四种交易的可能性,您应该输出我是否拥有建立和解所需的资源。 这是代码高尔夫球,因此以字节为单位的最短代码获胜。 笔记 您不必输出我需要执行的交易或可以建立的结算数量。简单的“是”或“否”即可。 您可能不假定输入是按任何特定顺序进行的。特别是,您可能不会假定相同类型的资源被分组在一起,因此OBLSO,有效输入也不是。 这是决策问题,因此,只要选择的两个值是不同且一致的,就可以使用要表示“是”和“否”的任何值。 我们在这里关心的唯一规则是上面列出的规则。与其他玩家交易或在港口交易等更为复杂的卡坦定居者规则在这里无关紧要。 输入的字符(B,L,O,W,S)可以与其他的值取代,只要它是你所选择的特定的语言更容易,所以只要有五个不同的输入。如果您使用其他输入值,请在答案中指定它们。 例子 BLWS -> Yes OOOOWLB -> Yes (trade four O for a S) OOW -> No BBBO -> No (empty input) -> No BBBBLW -> No BBBBBLW -> Yes (trade four B for a S) OOOOOOOOOOOOOOOO -> Yes (sixteen …

5
触发斜槽并保护头奖
您将要参加游戏节目。挑战之一如下: 第一个房间包含大量相同的球。 第二个房间包含一系列滑槽,每个滑槽都具有一个传感器,该传感器可以计算放置在其中的球的数量。放置在滑槽中的球将无法回收。 在将一定数量的球(其触发计数)放入其中后,每个滑槽都将触发。当它触发时,它会闪烁灯光,发出声音并毫无疑问地触发它。 您必须触发N滑道才能继续下一个挑战。 您知道触发计数,但不知道计数与斜道之间的对应关系。 您有机会将球从第一个房间带到第二个房间。将球放入滑槽后,您将无法再返回更多球。 您拿到的每个球都会从累积奖金中扣除。 显然,您想确保自己能够通过挑战,但是想要最大程度地减少累积奖金损失。编写程序,函数,动词等以告诉您您需要多少个球。 例 假设触发计数为2、4和10,并且您需要触发2个滑槽才能通过。有一个策略,可以传10个球:在第一个溜槽中最多放置4个球,在第二个溜槽中最多放置4个球,在第三个溜槽中最多放置4个球。由于三个滑道之一仅在触发2个球后才触发,因此您总共只能使用10个球。没有可以保证少于10个的策略,因此这是正确的输出。 输入项 输入由一个整数触发计数的数组和一个给出要触发的溜槽数的整数组成。您可以按任意顺序输入两个输入,并且如果需要,可以输入第三个输入与数组的长度。 您可以假设所有输入均大于零,并且必须触发的溜槽数量不超过溜槽数量。 您还可以假设计数是排序的(升序或降序),只要您在回答中清楚说明即可。 输出量 输出应为单个整数,给出最佳策略所需的球数。 测试用例 格式: N counts solution 1 [2 4 10] 6 2 [2 4 10] 10 3 [2 4 10] 16 1 [3 5 5 5 5 5 5 5 5 5] 5 2 …

19
我有头生双胞胎吗?
一个整数是质数,当且仅当它是正数且正好具有2个不同的除数:1及其本身。双素数对由两个元素组成:p和p±2,它们都是素数。 您将得到一个正整数作为输入。您的任务是根据标准决策问题规则(值必须一致),根据给定的整数是否属于双胞胎对,返回真/假。 测试用例 特鲁西(双生素数): 3, 5, 7, 11, 13, 17, 19, 29, 31, 41, 43 虚假(不是孪生素数): 2, 15, 20, 23, 37, 47, 97, 120, 566 这是代码高尔夫球,因此以字节为单位的最短代码胜出!

21
缓慢收敛的之字形
给定单个正整数作为输入,以以下形式返回收敛的之字形作为字符串列表,字符列表或换行符分隔的字符串: # # # # # # # # # # # 您可以#用任何一致的非空白字符替换。允许在每行上尾随空白,并允许尾随新行。 之字形从列开始,1每行右移一列,直到到达列n(n输入在此处)。然后,它向左移动2,然后向右移动n-1,然后向左移动3,两个边界收敛,直到锯齿形在中间列((n+1)/2)结束。 测试用例 上面的示例是的测试用例5。 以下是各个测试用例: 3 # # # # 7 # # # # # # # # # # # # # # # # # # # # # # 1 #

25
数字增加而字母减少
受此堆栈溢出问题的启发:对列表进行排序:数字以升序排列,字母以降序排列。您的任务是解决以下问题,并且由于这是code-golf,因此应尽可能减少字节。 你应该采取的对象为包含字母输入的列表(任何合理形式:string,char,等)和数字。然后,您应该将数字按升序排序,并将字母按降序排序。但是,应将字母保持在字母位置,将数字保持在数字位置。例如,如果列表为: [L, D, L, L, D, L] 输出列表应采用以下形式: [L, D, L, L, D, L] 遍历 输入: ['a', 2, 'b', 1, 'c', 3] 将数字按升序排序: [1, 2, 3] 将字母按降序排列: ['c', 'b', 'a'] 重新加入他们,但顺序保持不变: ['c', 1', 'b', 2, 'a', 3] 规则 该列表将仅包含字母和数字。 该列表可能为空。 该列表只能包含字母或数字。 如果您的语言不支持混合类型数组,则可以使用数字字符而不是数字。请注意,如果您的语言支持,则必须使用混合类型。 字母只会是[a-z]或[A-Z],您可以选择其中一个。 字母被排序为a最低,z最高,即a = 1, z = 26。 …

5
西部最快的枪
您是密西西比州西部最粗暴,最艰难,最酷的牛仔。但是,一个古怪的书呆子网站上的一个奇怪的家伙认为,将您放入随机未完成的景观并进行战斗会很酷。没关系,您仍然会赢。但是,为了帮助您赢得那些您将在书中写的艰苦的枪战,了解胆小鬼潜伏在风景中有多少子弹会很有帮助。 你如何帮助这个可怜的家伙。给定ASCII风景,找到里面的枪,并告诉他有多少枚子弹装入其中。这是枪: (X) (X\ /X) (XVX) \X/ X上图中的每个都是一个可能的子弹槽。该插槽将包含一个空格或其中一个0,O,o(可能不一致-牛仔可能在他的枪中装有不同类型的子弹)。 在景观中,总是有完全符合上述描述的一杆枪。但是,请注意,喷枪周围和内部的空间可以容纳任何东西。 输入项 您将得到一个包含可打印ASCII(而不是制表符)和换行符分隔字符串的字符串。如果愿意,您还可以列出字符串列表。字符串都将用空格填充,因此它们的长度都相同。输入将至少为4行高和7列宽。 风景中总会有一支枪。 输出量 您将输出0, O, o枪中有多少颗子弹(),因此您的输出将始终在0和之间6。 测试用例 (0) ( ) (o\ /o( \ / ) (oVo) ( V ) \o/ \ / 0 ---------------------------- //////////////////////////// //////////////////////////// /////////////(o)//////////// ///////////(0\// )////////// ////////////( Vo)/////////// /////////////\ ///////////// //////////////////////////// ---------------------------- 3 ()()()()()()()()()()()()()()()()\)/)()()()()()()()()()()()() ()()()()()()()()()()()()()()()()(V)()()()()()()()()()()()()( ()()()()()()()(\0/)()()()()()()()()()()()()()()()()()()()()( ()()()()()()()()()()()()()()()()()()()()()()()( …
23 code-golf  string 

12
用总和填充矩阵
挑战: 给定一个方形输入矩阵A,在矩阵的所有四个边上分别填充一行和一列。 顶行和底行中每个元素的值应为每个对应列中元素的总和。 左右列中每个元素的值应为每个对应行中元素的总和。 左上角和右下角的元素值应为对角线上的元素之和 右上角和左下角的元素值应为反对角线中元素的总和。 例: A = 1 5 3 3 2 4 2 5 5 Output: 8 6 12 12 7 9 1 5 3 9 9 3 2 4 9 12 2 5 5 12 7 6 12 12 8 说明: 左上和右下元素是对角线1 + 2 + 5 …

14
色度成功的关键
RGB颜色值#00FF00是一个相当重要的值:它用于制作电影,电视节目,天气通告等。它是著名的“电视绿色”或“绿色屏幕”颜色。 挑战 您的任务是编写一个程序,以获取两个输入图像,这些输入图像均为PNG格式(或图像库的图像对象类型),并且尺寸相同。一个图像可以是任何旧图像。另一个是具有颜色背景的图像#00FF00。输出图像将由第二个图像覆盖,第一个图像重叠在第一个图像上,不#00FF00存在任何颜色(第一个图像除外)。输入和输出可以通过文件,一个GUI,等你被允许采取的RGB值的数组作为输入来完成,因为看到这里。您可以假定图像仅具有完全不透明的像素。 基本上... 制作一个程序,将#00FF00一个图像中的每个像素都替换为背景图像中的相应像素。 测试用例 @dzaima慷慨提供的:背景: 前景: 输出: 当然,严格禁止标准漏洞。这包括使用在线资源为您做到这一点。 这是代码高尔夫,所以最短的代码胜利和最好的程序员可能会繁荣...

5
复杂骰子滚动表达式
背景 我定期和一些朋友一起玩D&D。在谈论某些系统/版本在掷骰子时的复杂性以及应用奖金和罚金时,我们开玩笑地为骰子掷骰表达了一些额外的复杂性。它们中的一些太离谱了(例如扩展简单的dice表达式,例如2d6对参数1进行矩阵化),但是其余的组成了一个有趣的系统。 挑战 给定一个复杂的骰子表达式,请根据以下规则对其进行评估并输出结果。 基本评估规则 每当运算符需要整数但收到操作数的列表时,都会使用该列表的总和 每当运算符需要一个列表但收到一个操作数的整数时,该整数就被视为包含该整数的单元素列表 经营者 所有运算符都是二进制中缀运算符。为了便于说明,a将为左操作数,b并将为右操作数。列表符号将用于运算符可以将列表作为操作数的示例,但实际表达式仅由正整数和运算符组成。 d:输出a范围内的独立均匀随机整数[1, b] 优先顺序:3 两个操作数都是整数 范例:3d4 => [1, 4, 3],[1, 2]d6 => [3, 2, 6] t:取b最低值a 优先顺序:2 a是列表,b是整数 如果为b > len(a),则返回所有值 例如:[1, 5, 7]t1 => [1],[5, 18, 3, 9]t2 => [3, 5],3t5 => [3] T:从中获取b最高值a 优先顺序:2 a是列表,b是整数 如果为b > len(a),则返回所有值 例如:[1, 5, …

12
Divinacci序列
Divinacci(OEIS) 执行斐波那契数列,但不要使用: f(n) = f(n-1)+f(n-2) 使用: f(n) = sum(divisors(f(n-1))) + sum(divisors(f(n-2))) 对于输入n,输出第n个项,您的程序应该只有1个输入。 前14个字词(0索引,您可以1索引;使用的状态): 0 | 0 # Initial | [] 1 | 1 # Initial | [1] => 1 2 | 1 # [] + [1] | [1] => 1 3 | 2 # [1] + [1] | [1,2] => …

1
是仙人掌吗?
在图论中,仙人掌是一个连通图,因此图中任何不同的两个简单循环最多共享一个顶点。 这是一个仙人掌,带有3个简单的虚线框。 下图类似于上图,但不是仙人掌,因为用红色标记的两个顶点由两个简单的循环共享。 事情可能会变得有些棘手,例如下图: 可能看起来像仙人掌,但事实并非如此。可以通过突出显示以下周期来表明这一点: 该循环与图中许多更明显的循环共享一个以上的点。 定义 连通图是这样的图:在任意两个顶点之间至少存在一条路径。 一个简单的循环是图形上一条路径,该路径在相同的顶点处开始和结束,并且访问一个顶点不超过一次。 简单图是无向的,无权的图,因此没有一个顶点通过一个以上的边彼此连接,并且没有顶点与其自身连接。简单图是图的最基本类型,也是大多数人说图时的意思。 任务 以一个简单的图作为输入,并确定它是否是仙人掌图。您应该输出两个不同的值,一个为True,另一个为False。您可以采用您认为合适的任何格式输入。 这是代码高尔夫球,因此您应尽量减少答案的字节数。 测试用例 测试用例作为邻接矩阵

7
最短加法链
加法链是从1开始的整数序列,其中除初始1之外的每个整数都是两个先前整数的总和。 例如,这是一个附加链: [1, 2, 3, 4, 7, 8, 16, 32, 39, 71] 这是使它成为加法链的总和: 1 + 1 = 2 1 + 2 = 3 1 + 3 = 4 3 + 4 = 7 1 + 7 = 8 8 + 8 = 16 16 + 16 = 32 7 + …

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.