Questions tagged «code-golf»

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

8
使用+和*查找一个数以获得数字
介绍 您的目标是找到最少的数量,您需要将该数量相加或相乘才能获得输入值,这是A005245。 输入值 一个正整数Ñ。 输出量 必须加/乘以得到N的最小数目。 样本输入 7 样本输出 6 说明 (1+ 1+ 1)*(1+ 1)+ 1= 7 因为这需要6一个,所以输出是6 测试用例 1 1 2 2 3 3 5 5 10 7 20 9 50 12 由于这是一个代码高尔夫挑战,因此最少的字节数将获胜。

14
原始位检查
编写一个程序/函数,该程序需要一个介于000到255255255两个整数,并返回数字的二进制形式是否恰好相差一位。 例如,111和000具有二进制形式00000001和00000000,它们相差一比特。同样,152152152和242424是010011000和000011000,因此它们返回true。 但是,您的代码必须是原始的,以便如果程序中的任何一位被翻转,它都将引发错误。例如,如果您的程序是单个字节a(01100001),则所有8种可能的修改程序: á ! A q i e c ` 必须抛出一个错误。确保您按字节进行修改(例如,á实际上是在上面表示字节225225225,而不是实际的两个字节字符á)。 测试用例: 0,1 => Truthy 1,0 => Truthy 152,24 => Truthy 10,10 => Falsey 10,11 => Truthy 11,12 => Falsey 255,0 => Falsey 规则: 提供一个可以验证您的程序是否正确的测试框架,因为会有很多可能的程序(字节数* 8),或者完整的原始证明。 发布程序前,请确保您的程序有效。 输出需要为真/假(两种方法都可以),或者两个截然不同的非错误值 错误可以是运行时,编译器,解释器等。

19
旋转列
给定一个整数k和一个文本块,或者一个内部数组可能具有不等长的2d数组(类似于一个文本块),则将第k列中的每个字符或元素向上或向下旋转到下一个位置存在。 例 旋转以下文本的第20列(从1开始): A line with more than k characters. A longer line with more than k character. A short line. Rotate here: ------v-- This is long enough. This is not enough. Wrapping around to the first line. 输出: A line with more thtn k characters. A longer line with …

26
佩尔方程的基本解
给定一些非整数的正整数,找到相关的Pell方程的基本解ññn(x ,y)(X,ÿ)(x,y) X2- ñ ⋅ ÿ2= 1X2-ñ⋅ÿ2=1个x^2 - n\cdot y^2 = 1 细节 基本是一对整数满足等式,其中最小且为正。(总有平凡的解未被计算。)(x ,y)(X,ÿ)(x,y)X ,ÿX,ÿx,yXXx(x ,y)= (1 ,0 )(X,ÿ)=(1个,0)(x,y)=(1,0) 您可以假设不是正方形。ññn 例子 n x y 1 - - 2 3 2 3 2 1 4 - - 5 9 4 6 5 2 7 8 3 8 3 1 9 …

12
𝗔𝗹𝘁𝗲𝗿𝗻𝗮𝘁𝗼𝗿
介绍 尝试将单词转换为两种不同的unicode字体。 挑战 您的任务是将输入字符串转换为𝖲𝖺𝗇𝗌和𝗕𝗼𝗹𝗱Unicode字符。 所有大写单词都应变为小写case𝗕𝗼𝗹𝗱𝗕𝗼𝗹𝗱单词。 例如:WORD->𝘄𝗼𝗿𝗱 所有小写​​单词都应成为𝖲𝖺𝗇𝗌单词 例如:other words->𝗈𝗍𝗁𝖾𝗋 𝗐𝗈𝗋𝖽𝗌 所有大小写混合的单词应保持不变 例如:Mixed Case Words->Mixed Case Words 句号和空格应保持不变。 单词之间用空格或句点分隔 例如(突出显示的内容是单词): Hello。This is a word。S。O。are these 输入:包含字母,空格和句点([A-Za-z .]+)的字符串 输出:格式化的字符串 因为这是一场高尔夫挑战,所以最少的字节数获胜 输入和输出示例 输入: 这是可以输入的示例“ STRING”。它可以包含多个句子。 输出: 𝗂𝗌.𝗈.𝘂.𝗹.𝖽。𝗶𝗻𝗽𝘂𝘁𝘁𝗲𝗱。𝖼𝖺𝗇。 参考 Math Sans Bold:𝗮𝗯𝗰𝗱𝗲𝗳𝗴𝗵𝗶𝗷𝗸𝗹𝗺𝗻𝗼𝗽𝗾𝗿𝘀𝘁𝘂𝘃𝘄𝘅𝘆𝘇(字符120302至120327) Math Sans:𝖺𝖻𝖼𝖽𝖾𝖿𝗀𝗁𝗂𝗃𝗄𝗅𝗆𝗇𝗈𝗉𝗊𝗋𝗌𝗍𝗎𝗏𝗐𝗑𝗒𝗓(字符120250至120275)

15
帮助pannenkoek数A印刷机
pannenkoek2012的目标是通过尽可能少地按A按钮来完成Super Mario 64,这会使Mario跳跃。每个“印刷机”都由三个部分组成: 按下按钮 持有任何时间 发布 请观看此视频(1:15-3:23),以获取包含上述图片的精彩说明。(但是,此挑战将不使用半按A术语,并且会提出需要释放A的障碍。) 任务: 给定一系列需要按下(P),按住(H)或释放(R)A按钮的障碍物,请按给定的顺序输出克服这些障碍物所需的最少按下次数。最初不按住A按钮。 正式表示:给定一个字符串S,将包含S PHR的形式的字符串(PH*R)*视为子序列,并P在这样的字符串中输出尽可能少的。或者,找到P?H*R?可以拆分为S 的形式的最小块数。 例 让我们看一下input RHRPHHHR。A按钮开始时没有保持R住,因此要克服初始障碍,需要先按下按钮,然后再松开(按#1)。接下来,我们需要按住按钮H,这又需要首先将其按下(按#2)。然后,可以随后将其释放以满足R其需求。最后,PHHHR只需按一下(按#3键),然后按住HHH并松开,即可满足其余条件R。因此,输出计数为3。 另一种查看方式是,我们可以将输入字符串分成3个形式的部分,PHH..HHR其中字母可以省略。 R HR PHHHR 输入格式 输入将是表示按下,按住和释放的元素的列表或字符串,以供您选择: P, H, R p, h, r 1, 2, 3 0, 1, 2 按照给定的顺序进行匹配。输入将不为空。 测试用例: P 1 H 1 R 1 HP 2 RHP 3 HHR 1 PHRH 2 RHRPHHHR …

23
二进制数字魔术
挑战很简单;输出以下六个2D整数数组: [[ 1, 11, 21, 31, 41, 51], [ 3, 13, 23, 33, 43, 53], [ 5, 15, 25, 35, 45, 55], [ 7, 17, 27, 37, 47, 57], [ 9, 19, 29, 39, 49, 59]] [[ 2, 11, 22, 31, 42, 51], [ 3, 14, 23, 34, 43, 54], …

18
对警察和强盗进行硬编码(警察)
这是警察和强盗的挑战。强盗的线索在这里。 需要考虑的一个有趣问题是: 如果我有一个数字序列,那么在清楚我在说什么序列之前,我必须提供几个数字? 例如,如果我想谈的正整数,以便从开始111,我可以说,1,2,3,…1,2,3,…1,2,3, \dots,但事实是否真的足够了吗? 我有一个回答这个问题的方法,而作为代码窃贼,它涉及代码高尔夫球。如果产生这些术语的最短代码产生了序列的所有术语,则您已提供了足够的序列术语。如果我们从代码高尔夫的角度来考虑这一点,那意味着您已经提供了足够的测试用例,从而使通过测试用例的最短代码可以完成所需的任务。 挑战 这个挑战是警察和强盗的挑战。警察将在其中展示测试用例,而强盗将不得不寻找一种比预期序列更短的欺骗测试用例的方法。警察将提出以下内容: 一段代码,将非负整数作为输入,并产生一个整数作为输出。此代码将定义您的顺序。您的代码不需要支持0作为输入,而是选择将1作为最小输入。如果您的答案是这种情况,则应该很清楚。 任何可能影响输出的相关平台或语言要求,例如longint的大小。 一个数字nnn,以及该代码计算出的序列的前nnn项。这些将充当“测试用例”。 鼓励您解释序列的作用并链接OEIS(如果存在),但是定义序列的是您的代码,而不是描述。 强盗将使用比所介绍的语言短的语言来找到一个程序,并通过所有测试用例(对于前nnn输入产生与警察代码相同的输出)。强盗的代码在输出上还必须与警察的程序有所不同,即大于某个数字nnn。 警察在提交之前必须能够破解自己的答案。 一周后,警察可能会发现他们的裂缝并将答案标记为“安全”。标记为这样的答案将不再被破解。 计分 警察的答案将根据字节数进行评分,而字节数越少越好。破解答案的得分是无限的。

8
高尔夫球场
在这个挑战中,您的任务是摄取阴离子和阳离子,并输出化合物的化学式。输入遵循以下规则: 取在2个字符串(以任何顺序)表示的阴离子和阳离子,例如F,NH_4,或Al。 要接受每个离子的电荷,可以将其作为插入符号(例如F^-1)分隔的字符串的一部分,也可以接受其他数字参数。 注意:只要您的数字输入类型是带符号的,阴离子的电荷就会作为负数传递。 这些符号将始终是真实的,并且收费准确。 输出应遵循以下规则: 使用_了标:铁2 Ø 3会Fe_2O_3。 阳离子优先:NaCl,而不是ClNa。 中性分子:李2 O,不是LIO或LIO - 。 可能的最低系数:Fe 2 O 3,而不是Fe 4 O 6。 没有下标的:NaCl,不是Na 1 Cl 1。 没有移位:NH 4 OH,NH未5 O. 条件括号: 不要在单原子离子上使用括号:MgCl 2,而不是Mg(Cl)2。 如果每个分子中只有一个离子:KClO 3,而不是K(ClO 3),请不要使用括号。 如果有两个或多个多原子离子,请使用括号:Be 3(PO 4)2,不是Be 3 PO 4 2或Be 3 P 2 O 8。 以下是一些其他示例输入和输出: Input Output …

30
归一化向量
为了正常化的载体是将它扩展到1的长度(单位矢量),同时保持方向一致。 例如,如果我们想正常化的矢量3个组件,ü,我们会先找到它的长度: | u | = sqrt(u x 2 + u y 2 + u z 2) ...然后按此值缩放每个分量,以获得长度为1的向量。 û= u÷| u | 挑战 您的任务是编写一个程序或函数,给定一个带符号的整数的非空列表,将其解释为向量并将其标准化。例如,这应该适用于任意数量的维度(测试用例四舍五入到小数点后两位): [20] -> [1] [-5] -> [-1] [-3, 0] -> [-1, 0] [5.5, 6, -3.5] -> [0.62, 0.68, -0.40] [3, 4, -5, -6] -> [0.32, 0.43, -0.54, …

29
最常见的倍数
不要与最小公倍数相混淆。 给定具有多个元素的正整数列表,则返回数组中两个元素的最常见乘积。 例如,列表的MCM [2,3,4,5,6]为12,产品表为: 2 3 4 5 6 --------------- 2 | # 6 8 10 12 3 | # # 12 15 18 4 | # # # 20 24 5 | # # # # 30 6 | # # # # # 感谢DJMcMayhem的桌子 由于12出现的次数最多(两倍2*6和3*4)。请注意,我们不包括的元素,本身的产品,所以2*2还是4*4不不会出现在这个列表中。但是,相同的元素仍将相乘,因此该表[2,3,3]如下所示: 2 3 3 …

8
最小的看不见的,但没有共享数字!
挑战 在PPCG,我们确实喜欢我们的序列,所以这里又很有趣。 让我们定义a(n)为最小的非负整数,X这不等于任何a(k)(0 < k < n),并a(n-1)和X不共享任何十进制数字。a(0) = 0 给定一个输入n > 0,输出这样a(n)。 例如,对于input n = 13,我们有a(13) = 20,因为a(12) = 11和20是最小的非负整数,但我们尚未看到它与不共享任何十进制数字11。 序列 这是让您入门的前20个学期。这是OEIS上的序列A067581。 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 22, 11, 20, 13, 24, 15, 23, 14, 25 规则 可以假定输入和输出适合您语言的本机整数类型。 输入和输出可以任何方便的格式给出。 您可以选择0索引(例如我在此处的示例),也可以选择1索引进行提交。请说明您在做什么。 完整的程序或功能都是可以接受的。如果是函数,则可以返回输出而不是打印输出。 如果可能,请提供一个在线测试环境的链接,以便其他人可以尝试您的代码! 禁止出现标准漏洞。 这是代码高尔夫球,因此所有常用的高尔夫规则都适用,并且最短的代码(以字节为单位)获胜。

11
通过针孔照相机的日食
此挑战是受2017年8月21 日日食启发的简单ASCII艺术挑战。给定input 0 <= n <= 4,输出下面描述的日食的相应阶段: n=0: ***** ** ** * * * * ** ** ******* n=1: ***** ** ***** * ******* * ******* ** ****** ******* n=2: ***** ********* *********** *********** *********** ******* n=3: ***** ***** ** ******* * ******* * ****** ** ******* n=4: ***** ** …

6
救命!我的计算器出现故障!
介绍 我的计算器很奇怪。有时,当我输入时8会显示2。有时,当我输入a 6时会显示+。一些按钮混在一起! 谁能帮我确定哪个? 挑战: 输入:错误方程式列表,结果正确。 输出:交换的两个按钮。 例如: 输入可以是: 123 = 3 8423 = 252 4+4 = 8 4*7-10 = 417 9/3 = 3 42-9 = -36 其预期的输出是:2和*。 为什么?因为如果我们交换2和*,则所有等式都是正确的: 1*3 = 3 84*3 = 252 4+4 = 8 427-10 = 417 9/3 = 3 4*-9 = -36 挑战规则: 输入可以采用任何合理的格式。可以是一个以空格分隔的字符串;字符串列表或-array; 一个包含方程式的列表和另一个包含正确结果的列表。你的来电。请说明您使用的输入格式! …
28 code-golf  number  arithmetic  integer  code-golf  math  number  geometry  code-golf  grid  code-golf  math  number  sequence  primes  code-golf  sequence  kolmogorov-complexity  code-golf  string  ascii-art  alphabet  code-golf  math  sequence  integer  code-golf  number-theory  integer  natural-language  code-golf  date  code-golf  function  code-golf  ascii-art  code-golf  math  number-theory  primes  classification  code-golf  array-manipulation  decision-problem  matrix  code-golf  number  code-golf  code-golf  ascii-art  matrix  code-golf  string  code-golf  sequence  base-conversion  code-golf  code-golf  math  number-theory  combinatorics  integer-partitions  code-golf  integer  binary  base-conversion  code-golf  integer  base-conversion  palindrome  code-golf  code-golf  integer-partitions  code-golf  math  ascii-art  matrix  code-golf  number  sequence  number-theory  matrix  code-golf  interpreter  code-golf  graph-theory  code-golf  ascii-art  decision-problem  code-golf  division  code-golf  array-manipulation  primes  code-golf  string  ascii-art  code-golf  primes  counting  code-golf  matrix  unicode  code-golf  source-layout  code-golf  grammars  code-golf  string  cops-and-robbers  regular-expression  obfuscation  string  code-challenge  cops-and-robbers  regular-expression  code-golf  kolmogorov-complexity  game  card-games  code-golf  kolmogorov-complexity  code-golf  array-manipulation  matrix  code-challenge  cops-and-robbers  code-challenge  decision-problem  cops-and-robbers  code-golf  permutations 

29
输出一个字谜!不,不是那个!
给定一个彼此为字谜的唯一字符串的列表,请输出与列表中每个单词都不同的那些单词的字谜。 字符串将为字母数字,并且保证有一个有效的字谜。 程序或函数可以但不一定是不确定的,这意味着在给定相同输入的情况下,只要每个可能的输出都是有效的,多次运行该代码即可产生不同的输出。 测试用例 [Input] -> Possible output ----------------- [ab] -> ba [aba, aab] -> baa [123, 132, 231, 312, 321] -> 213 [hq999, 9h9q9, 9qh99] -> 999hq [abcde123, ab3e1cd2, 321edbac, bcda1e23] -> ba213ecd

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.