Questions tagged «code-golf»

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

21
寻找主要差距
一个主要的差距是连续两个素数之差。更具体地,如果p和q是p<q且p +1,p +2,...,q -1不是素数的素数,则素数p和q定义了n = q - p的间隔。的间隙被认为是开始由p,并具有长度 Ñ。 已知存在任意大的主要间隙。即,给定n,则存在长度为n或更大的素数间隙。但是,可能不存在长度恰好为n的素数间隙(但会更大)。 挑战 给定一个正整数n,输出第一个素数,该素数开始于length n或更大的间隙。 例如,对于输入4,输出应为7,因为7和11是相差至少4的第一个连续质数(先前的间隔是1,从2到3; 2,从3到5;以及2,从5至7)。对于输入3,答案也应该是7(没有长度为3的间隙)。 附加规则 该算法在理论上应该适用于任意高n。实际上,如果程序受时间,内存或数据类型大小的限制,这是可以接受的。 输入和输出可以通过任何合理的方式进行。 允许使用任何编程语言编写程序或功能。禁止出现标准漏洞。 以字节为单位的最短代码获胜。 测试用例 Input -> Output 1 2 2 3 3 7 4 7 6 23 10 113 16 523 17 523 18 523 30 1327 50 19609 100 370261 200 20831323

11
我需要将这两个数字相加多少位数?
任务 给定两个正整数,输出以10为底加长加法将它们加在一起的进位数目。 例子 ¹¹¹ <-- carries 999 + 1 ---- 1000 需要三个进位。 ¹ 348 + 91 ---- 439 需要一个进位。 测试用例 999, 1 -> 3 398, 91 -> 1 348, 51 -> 0 348, 52 -> 2 5, 15 -> 1 999, 999 -> 3 505, 505 -> 2 计分 这是代码高尔夫球。以字节为单位的最短答案将获胜。有标准漏洞。

1
简化火车套装
存在许多不同类型的火车,从Brio之类的木制轨道到完全数字控制真实火车的完美小金属复制品,但它们都需要设计轨道,理想情况下,尽可能多地使用您的零件。 因此,您的任务是确定,在给定可用零件的输入的情况下,是否有可能使用所有元件构建一个完整的闭合回路,如果没有,则从最大可能回路中剩下多少零件。 由于这是简化的火车组,因此只有3个元素:大曲线,小曲线和直线。这些都是基于正方形网格的: “大曲线”是一个90度角,每个维度覆盖2个单位 “小曲线”是一个90度角,每个方向覆盖一个单位 “直线”是直线元素,长1个单位 这意味着可能的最小电路由4条小曲线组成-它是一个半径为1单位的圆。可以通过添加成对的直形元素以形成各种椭圆形来扩展它。通过添加更多曲线或混合曲线类型,还有其他电路可能。 该火车组不包含任何交叉点或轨道交叉的方法,因此两个元素连接到另一个元素的同一端(无Y形)或彼此交叉(无X形)是无效的。此外,它是火车,所以任何不允许火车通过的编队都是无效的:示例包括以90度角相交的直线(垂直直线之间始终必须有一条曲线)和以90度角相交的曲线(曲线必须流动)。 您还希望使用尽可能多的片段,而忽略它们是什么类型,因此您将始终选择包含更多位的电路。最后,您只有一列,因此导致多个电路的任何解决方案都是不可接受的。 输入项 由三个大于或等于0的整数组成的数组,分别对应于可用的大曲线,小曲线和直线的数量,或以相同顺序传递给程序的参数。 输出量 数量对应于构造用于所提供元件的最大可能电路时剩余的件数。 测试数据 Minimal circuit using big curves Input: [4,0,0] Output: 0 Slightly more complicated circuit Input: [3,1,2] Output: 0 Incomplete circuit - can't join Input: [3,0,0] Output: 3 Incomplete circuit - can't join Input: [3,1,1] Output: 5 Circuit …
27 code-golf 

16
减少科拉科斯基
总览 你们中有些人可能知道Kolakoski序列(A000002),这是一个众所周知的具有以下属性的自指代序列: 它是一个仅包含1和2的序列,对于每组1和2,如果将游程的长度相加,则它等于自身,仅为长度的一半。换句话说,Kolakoski序列描述了序列本身的游程长度。这是唯一执行此操作的序列,只是删除了开头的1的序列相同。(仅当您将自己限制为由1和2组成的序列时才如此-Martin Ender) 挑战 面临的挑战是,给定一个整数列表: 输出-1如果列表不是Kolakoski序列的工作前缀。 在序列变为之前输出迭代次数[2]。 解决的例子 以提供的图像为例: [1,2,2,1,1,2,1,2,2,1,2,2,1,1,2,1,1] # Iteration 0 (the input). [1,2,2,1,1,2,1,2,2,1,2] # Iteration 1. [1,2,2,1,1,2,1,1] # Iteration 2. [1,2,2,1,2] # Iteration 3. [1,2,1,1] # Iteration 4. [1,1,2] # Iteration 5. [2,1] # Iteration 6. [1,1] # Iteration 7. [2] # Iteration 8. 因此,所得数字8用于的输入[1,2,2,1,1,2,1,2,2,1,2,2,1,1,2,1,1]。 9 …

30
画一个S链
背景 小时候,我被教导一种绘制奇怪的“ S”形的方法,使我(和同学们)着迷。今天,我重新发现了它,并且由于它采用公式化的方式绘制它,因此认为它可能会引发一个有趣的挑战:P 画“ S” 可以通过以下简单步骤绘制S: 首先,像这样绘制2行,每条垂直的三个直线 | | | | | | 接下来,将左上方的线与底部的中线连接,并将上方的中线与右下方的线连接以产生 | | | \ \ | | | 最后,在当前绘制的图像上绘制顶部和底部,使其最终看起来像 ^ / \ | | | \ \ | | | \ / v 如您所见,这将导致“ S”形。但是,当扩展时(绘制超过2行),它会产生一个非常有趣的图案。您的任务是重现此有趣的模式。 任务 给定一个整数where n >= 2,输出S及其n要制成的行。输出可以从函数返回,输入可以采用标准方法。整个图像以及每行的尾随/前导空格都很好。但是,前导空格必须保持一致,以免破折号。您可以输出为行列表。 测试用例 input output --- 2 ^ …

1
查找困难游戏
如果您感到无聊,可以玩的有趣游戏是Diffy Game。这是一款非常简单的单人游戏,可能会消耗大量时间。 Diffy游戏的工作方式如下:从一个非负整数列表开始,在本示例中,我们将使用 3 4 5 8 然后取相邻数字之间的绝对差 (8) 3 4 5 8 5 1 1 3 然后重复。重复直到您意识到自己已经进入循环。通常,游戏会从头开始。 3 4 5 8 5 1 1 3 2 4 0 2 0 2 4 2 2 2 2 2 0 0 0 0 0 0 0 0 游戏通常没有目标,您只是在脑海中进行算术而浪费时间。但是,当我乐于玩这款游戏时,我的目标始终是尝试选择一个时间段,并尝试构建一个在该特定时间段内循环的游戏。 并非所有游戏都是周期性的,例如,上面的示例不是周期性的,因为它最终会到达一个全零的游戏,因此永远无法使其回到初始位置。实际上,似乎绝大多数游戏都不是周期性的,因此很少有游戏是稀有的宝石。 给定一个具有特定周期循环的游戏,只需将序列加倍即可制作另一个具有相同周期循环的游戏。例如游戏: 1 …

30
删除空间,保持大写
您输入的内容将为英语句子,短语或单词。它只会包含a-zA-Z' -,.!?。您的任务是获取输入,删除空格,然后重新分配大写字母,以使之前被大写的索引中的字母(并且只有之前被大写的索引中的字母)被大写。 例如,如果输入为A Quick Brown Fox Jumped Over The Lazy Dog,则大写字母的(从0开始)索引为0, 2, 8, 14, 18, 25, 30, 34, 39。接下来,从输入中删除空格:AQuickBrownFoxJumpedOverTheLazyDog。接下来,将所有字母都小写,但在0, 2, 8, 14, 18, 25, 30, 34, 39:处将AqUickbrOwnfoxJumpEdovertHelazYdog其大写。 输入项 您输入的内容将为英语句子,短语或单词。它只能包含小写字母,大写字母,连字符,撇号,逗号,句点,问号,感叹号和空格。 输出量 输入的空格已删除,小写字母d,大写字母d中的字母位于大写字母的索引处。 注意:您的程序不会因IndexOutOfRange或类似错误而崩溃(此类执行终止错误)。 测试用例 Hi! Test! Hi!tEst! A Quick Brown Fox Jumped Over The Lazy Dog AqUickbrOwnfoxJumpEdovertHelazYdog testing TESTing TeStING testing …
27 code-golf  string 

19
画一个Reuleaux三角形!
该鲁洛三角形是由三个圆的交点所形成的形状,其中每个圈通过别人的中心。无论旋转,Reuleaux三角形的宽度始终等于圆的半径: 图片:Wolfram MathWorld 编写一个程序,将宽度r作为输入并显示该宽度的Reuleaux三角形(以像素为单位)。 您必须单独显示形状,即实心填充,未描边并在实心填充背景上显示。 code- golf-以字节为单位的最短程序获胜。

30
她w口渴了!
给定一个列表或定界字符串,输出一个列表或定界字符串,其中每个单词的第一个字符一个单词。 对于此挑战,“单词”仅包含所有可打印的ASCII字符,空格,换行符和制表符除外。 例如,使用字符串“世界下午好!”。(以空格分隔): 1. String "Good afternoon, World!" 2. Get the first characters: "[G]ood [a]fternoon, [W]orld!" 3. Move the characters over. The character at the end gets moved to the beginning. "[W]ood [G]fternoon, [a]orld!" 4. Final string "Wood Gfternoon, aorld!" 这是代码高尔夫球,所以最短的代码获胜! 测试用例: Input -> output (space-delimited) "Good afternoon, World!" -> …
27 code-golf  string 

30
寻找遗失的信件
指导方针 任务 编写一个方法,该方法将一个连续(递增)的字母数组作为输入,并返回该数组(某些语言的列表)中缺少的字母。 规则 这是代码高尔夫球,所以最短答案以字节为单位! 您将始终获得有效的数组 总是会丢失一个字母 数组的长度将始终至少为2。 数组将始终仅在一种情况下(大写或小写)包含字母 您必须输出与输入相同的大小写(大写或小写) 该数组一次总是只发送一个字母(跳过丢失的字母) 数组长度在2到25之间 数组的第一个或最后一个元素将永远不会丢失 例子 ['a','b','c','d','f'] -> 'e' ['O','Q','R','S'] -> 'P' ['x','z'] -> 'y' ['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','w','x','y','z'] -> 'v'

10
用(几乎)任何您喜欢的数字解方程
给定一串+=-至少包含一个字符的字符串,请=在所有符号之间以及在开头和结尾处插入正整数,以便满足数学方程式。 例如,给定输入 +-=-= 您需要像这样插入正整数A到F A+B-C=D-E=F 这样等式都满足,即A + B - C和D - E和F都是相同的数字。 有许多可能的方法可以执行此操作,因为只要等式成立,就可以使用任何正整数集。这里的每一行都是可能输入的有效输出+-=-=: 2+3-4=6-5=1 1+1-1=2-1=1 4+2-4=4-2=2 100+1-10=182-91=91 89+231-77=1024-781=243 请注意,表达式的值不需要像插入的数字一样为正整数。例如,给定输入-=-的输出1-10=8-17(从eval到-9)和10-1=17-8(从eval到9)都同样有效。当然,对于某些输入(例如,=不可能有负数的表达式),因为只能5=5插入正数之类的。 还要注意,零不是正整数。 以字节为单位的最短代码获胜。 您可以将数字输出为列表,而不是将其直接插入字符串中。如果确实输出字符串,则可能会有空格分隔符号和数字。因此,对于输入+-=-=,输出 2, 3, 4, 6, 5, 1 要么 2 + 3 - 4 = 6 - 5 = 1 相当于输出 2+3-4=6-5=1 测试用例 Input | One Possible Output = | …

2
2D迷宫减1D
这个挑战是关于将2D迷宫转换为1D迷宫。 总览 +-+-+-+-+-+-+ +-+-+-+-+-+-+ graph { | | | | |A| | B| A B A -- D + + + + +-+-+ + + + + +-+-+ \ | C -- D | | | | | | | | \ | D -- E +-+-+ +-+-+ + +-+-+ …

30
修剪数组!
给定一个整数数组和两个数字作为输入,请删除由数字指定的一定数量的第一个和最后一个元素。输入可以按照您想要的任何顺序。 您应该删除前x个元素,其中x是第一个数字输入,还应该删除最后y个元素,其中y是第二个数字输入。 保证结果数组的长度至少为2。 例子: [1 2 3 4 5 6] 2 1 -> [3 4 5] [6 2 4 3 5 1 3] 5 0 -> [1 3] [1 2] 0 0 -> [1 2]

16
更改代码,更改顺序:警察
这是警察和强盗的挑战。有关强盗线索,请转到此处。 这项挑战涉及警察选择的两个OEIS序列-S 1,S 2-以及对这些序列进行打高尔夫球和模糊处理的程度。 警察的挑战 作为警察,您面临的挑战是选择一种免费的语言和两个OEIS序列。然后,用输入n并产生S 1(n)的语言编写代码A。当该码是由经修饰的Levenshtein距离的X字符(其中X不超过),并变成代码乙以相同的语言,它必须继而产生小号2(n)的。您实际上必须编写此代码B,但是直到您的挑战安全后再将其透露(请参阅下文)。0.5 * (length A) 警察提交的材料必须包括语言名称,完整的代码一,的字节数一,在X的多少变化来得到他们的秘密值乙码,和所选择的小号1和小号2的序列号。您可以选择每个序列是0索引还是1索引,但是请在提交时指定。 要破解特定的提交内容,强盗必须提供使用相同语言(和版本)的程序C,该程序产生S 2(n),并且Y字符与A分开(带有Y <= X)。强盗不一定需要找到警察(秘密地)产生的完全相同的B代码。 获胜和得分 如果您的警察答案在7天内(168小时)没有被破解,则可以显示自己的B解决方案,这时您的答案被认为是安全的。只要您不公开解决方案,即使7天已经过去,它也可能会遭到强盗的破解。如果您的答案确实被破解,请在答案的标题中指出,并提供指向相应强盗答案的链接。 警察会以最短的A值提交完整的陈述来获胜。如果并列,则最小的X将用作决胜局。如果仍然并列,则较早的提交将获胜。 进一步规则 您不得使用任何内置函数进行散列,加密或随机数生成(即使您将随机数生成器植入固定值)。 允许使用程序或函数,但代码不得为摘录,并且不得假定为REPL环境。 您可以采用任何方便的格式输入并提供输出。两个序列的输入/输出方法必须相同。 Levenshtein距离这一挑战的权威计算器是Planet Calc上的该计算器。 除了作为一个CNR的挑战,这是代码高尔夫球因此所有往常一样打高尔夫球规则。

6
ASCII拼图
这是一个3x3ASCII拼图游戏: _____ _____ _____ | _| |_ | | (_ _ _) | |_ _|_( )_|_ _| | (_) |_ _| (_) | | _ _) (_ _ | |_( )_|_ _|_( )_| | _| (_) |_ | | (_ _) | |_____|_____|_____| 这也是一个3x3ASCII拼图游戏: _____ _____ _____ | |_ _| …

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.