编程拼图和代码高尔夫

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

9
我有几章?
圣经是有史以来最有影响力的书之一,通常被称为有史以来最畅销的书。它是由大约 40位不同的作者在数百年的时间里编写的,然后才被编译成当前的形式。但是,《圣经》有趣的是它的分割方式。它分为2个不同的遗嘱,分为66个较小的书,每本书分成较小的章节,每个章节都分为单独的经文。 我认为尝试以尽可能短的代码编码每本书中的章节数将是一个有趣的挑战。因此,对于当今的挑战,您必须编写一个程序或函数,以其中一本书作为输入,并根据The King James Version输出该书中的章节数。 您可以采用任何合理格式的IO,例如读/写STDIN / STDOUT或文件,函数自变量/返回值,提示用户等。输入内容将始终是《圣经》的66本书之一,并且仅是小写字母。这意味着,如果给您任何其他输入,则允许未定义的行为。由于只有66可能的输入和输出,他们在这里都提供了,根据维基百科上关于圣经的章节中的国王詹姆斯版本页: genesis 50 exodus 40 leviticus 27 numbers 36 deuteronomy 34 joshua 24 judges 21 ruth 4 1 samuel 31 2 samuel 24 1 kings 22 2 kings 25 1 chronicles 29 2 chronicles 36 ezra 10 nehemiah 13 esther 10 job …

29
重复第N个元素
我们已经有一段时间没有字符串问题了(准确地说是5天),所以让我们继续。 给定一个字符串s和一个正整数n,取的每一个n元素s,重复n一次,然后放回s。 例如,如果n = 3和s = "Hello, World!",则第三个字符为Hl r!。然后,您重复每个字符n时间以产生HHHlll rrr!!!。然后,您将原始字母替换为重复的字母,以生成最终的HHHellllo, Worrrld!!! 您将使用您的语言以最短的代码完成此任务! 规则 这是一个代码高尔夫球,因此以字节为单位的最短代码胜出 n保证小于的长度s并大于0 的第一个字符s是其中n第字符是从采取,并且总是反复n次 s就只包括可打印的ASCII的(代码点0x20 (space)到0x7E (~)) 测试用例 s, n => output "Hello, World!", 3 => "HHHellllo, Worrrld!!!" "Code golf", 1 => "Code golf" "abcdefghijklm", 10 => "aaaaaaaaaabcdefghijkkkkkkkkkklm" "tesTing", 6 => "ttttttesTingggggg" "very very very long string for …
18 code-golf  string 

20
在干草堆中找到针(强盗)
这是警察和强盗挑战的一部分。去这里参加警察的活动。 强盗的挑战 可以通过从Haystack程序中删除字符的任何子集来破解警察的答案,以便输出Needle而不是Haystack(尽管仍然是使用相同语言的有效提交)。只要您受上述限制的约束是有效的,就不必找到与警察完全相同的解决方案。 如果您可以管理此问题,请在解决方案中发布答案,并链接到警察的答案,然后对警察的答案发表评论,并链接回您的答案。 破解最多警察答案的强盗获胜。领带被破解的警察答案的大小之和打断(赞成强盗破解更长的提交内容)。 每个警察的答案只能破解一次,当然,您也不能破解自己的答案。如果警察的答案在被破解之前或之后被证明是无效的,则不计入强盗的分数。 例子 这是几个使用不同语言的简单示例: Ruby Haystack: puts 1>0?"Haystack":"Needle" Delete: XXXXXXXXXXXXXXX Needle: puts "Needle" Python 2 Haystack: print "kcatsyaHeldeeN"[-7::-1] Delete: XXXXXXXX XX Needle: print "eldeeN"[::-1] 请注意,已删除字符的子集不必是连续的。

30
我是高尔夫球爱好者吗?
定义和规则 甲golfy阵列是一个整数数组,其中每个元素是高于或等于所有先前元素的算术平均值。您的任务是确定作为输入给定的正整数数组是否适合。 您无需处理空白列表。 默认存在漏洞。 适用标准输入和输出方法。 您可以选择任何两个不同的非空值。它们必须是一致的,并且必须遵守所有其他决策问题规则。这是代码高尔夫球,每种语言中最短的代码胜出! 测试案例与范例 例如以下数组: [1, 4, 3, 8, 6] 是一个高尔夫球状数组,因为每个项都高于其前面的算术平均值。让我们逐步解决: 数字->前置元素->平均->是否遵循规则? 1-> []-> 0.0-> 1≥0.0(真) 4-> [1]-> 1.0-> 4≥1.0(真) 3-> [1,4]-> 2.5-> 3≥2.5(真) 8-> [1,4,3]-> 2.(6)-> 8≥2.(6)(真) 6-> [1,4,3,8]-> 4.0-> 6≥4.0(真) 所有元素都符合条件,因此这是一个高尔夫球阵列。请注意,就本挑战而言,我们将假定一个空列表([])的平均值为0。 更多测试用例: 输入->输出 [3]->正确 [2,12]->是 [1,4,3,8,6]->是 [1、2、3、4、5]->是 [6,6,6,6,6]->是 [3,2]->错误 [4、5、6、4]->错误 [4,2,1,5,7]->错误 [45,45,46,43]->错误 [32,9,15,19,10]->错误 请注意,这是拼图1从CodeGolf-黑客马拉松,也张贴在无政府状态高尔夫(即一个被打破) - …

7
最长超立方体路径
挑战 系统会为您提供两个相同长度的不同位串。(例如000和111。)您的目标是找到一条到另一条的路径,使得: 在每一步,你只改变一位(你可以从去000到任何的001,010,100)。 您不能访问同一位字符串两次。 在这些约束下,路径应尽可能长。 例如,从000到111,我们可以走这条路 000, 001, 011, 010, 110, 100, 101, 111 它访问长度为3的所有8位字符串,因此它必须尽可能长。 规则 有标准漏洞。 您可以将输入作为两个零和一的字符串,或者作为两个零和一的数组,或者作为两个布尔值的数组。 您可能无法将输入取为带有正确二进制表示形式的两个整数(写000和111as 0和as 7无效)。 如果需要,可以将位串的长度作为输入。 您的程序可以通过以下方式输出路径:打印一次访问的位串,或返回访问的位串的数组(每个都与输入格式相同)。 您的输出应包括路径的起点和终点(即您的输入)。 这是代码高尔夫,以字节为单位的最短代码获胜。 例子 0 1 -> 0, 1 10 01 -> 10, 00, 01 or 10, 11, 01 000 111 -> any of the following: 000, 100, …

9
投票率答复
这个问题是受以下事实启发的:我喜欢看到投票和答案均等的问题。 因此,这是一个针对所有人的简单stack-exchange-api挑战: 挑战: 给定codegolf.stackexchange问题ID,输出问题的票数与答案数之间的比率(例如votes/answers)。 细节: 您可以访问Internet,但您只能访问Internet stackexchange.com及其各个子域。您不能使用URL缩短器。 您可以输入任何标准格式的输出。 您必须将比率输出为以10为底的十进制数字,并在小数点后至少4个{准确的}数字(零可能会被截断)。 如果未回答问题,则您的程序可能会产生不确定的行为。 您应该score将问题的用作投票数,请参见此处。 这是代码高尔夫球,每种语言的最小字节数对该语言获胜,总体上最小字节数获胜。 这是一个示例程序Python 3 + requests: import requests import json id = input("id> ") url = "https://api.stackexchange.com/2.2/questions/" + id + "?site=codegolf" content = requests.get(url).text question = json.loads(content)["items"][0] print(float(question["score"]) / question["answer_count"])

18
逆向数学循环
灵感来自这 在链接的挑战中,要求我们对输入数组的原始元素和反向元素应用加法。在这一挑战中,我们将通过引入其他基本的数学运算来使其稍微困难一些。 给定整数数组,请循环遍历+, *, -, //, %, ^,其中//是整数除法并^是指数,同时将其应用于数组的倒数。或者,换句话说,将上述函数之一应用于数组的每个元素,第二个自变量是数组的反函数,并且应用的函数会循环遍历上面的列表。这可能仍然令人困惑,因此让我们来看一个例子。 Input: [1, 2, 3, 4, 5, 6, 7, 8, 9] Reverse: [9, 8, 7, 6, 5, 4, 3, 2, 1] [ 1, 2, 3, 4, 5, 6, 7, 8, 9] Operand: + * - / % ^ + * - [ 9, …

19
在所有n列中具有1到L(n)的矩阵
挑战: 取一个列表,L包含正整数作为输入: 3 5 2 1 6 并创建一个矩阵,其中第n列包含矢量1:L(n),其中较短的行用零填充。 测试用例: 3 5 2 1 6 ----------------- 1 1 1 1 1 2 2 2 0 2 3 3 0 0 3 0 4 0 0 4 0 5 0 0 5 0 0 0 0 6 1 - 1 1 2 …
18 code-golf  matrix 

19
MaxMin除数对(DMDP)的差异
让我们谈谈除数... 撇开完美的平方(片刻),所有正整数都可以表示为其2除数的乘积。快速示例126:这是的所有除数126 如您所见,所有除数可以配对。这就是我们所说的除数对: [1, 126], [2, 63], [3, 42], [6, 21], [7, 18], [9, 14] 对于此挑战,我们只需要此列表的最后一对(即图片的中心对) [9,14]:。我们将其称为MaxMin Divisor Pair。 的最大最小除数对的差分 (DMDP)是一对,其是两个元件的差[9,14]=5 为再举一个例子544。除数为: [1,2,4,8,16,17,32,34,68,136,272,544] 和DMDP(544)= 15 因为32-17=15 怎么样完全平方数?所有完美正方形的DMDP = 0 让我们64以除数 为例 {1,2,4,8,16,32,64} 正如你在这种情况下,看到了最大最小除数对是[8,8]具有DMDP=0 我们几乎完成.. 挑战 给定一个整数n>0,输出小于或等于多少个整数 10000,DMDP小于 n 测试用例 输入->输出 1->100 (those are all the perfect squares) 5->492 13->1201 369->6175 …

28
范围内的矩阵
挑战 给定一个整数n>0输出,n+1 X n+1矩阵包含所有从1to的整数,2n如下面的测试用例所示 测试用例 n=1 1 2 2 2 n=2 1 2 4 2 3 4 4 4 4 n=5 1 2 3 4 5 10 2 3 4 5 6 10 3 4 5 6 7 10 4 5 6 7 8 10 5 6 7 8 9 …

12
原始编号(二)
这个挑战是基本相同的这一个只有一个区别:它现在允许在字符串中的任何洗牌字母。 情境 约翰有一个重要的数字,他不希望其他人看到它。 他决定使用以下步骤对数字进行加密: 他的号码始终是一个不递减的序列(即"1123") 他将每个数字都转换成英语单词。(即"123" -> "ONETWOTHREE") 然后,随机重新排列字母。(即"ONETWOTHREE" -> "EEWOOHRNTET") 约翰觉得这样做很安全。实际上,这样的加密很容易解密:( 任务 给定加密的字符串s,您的任务是解密它并返回原始数字。 规则 这是代码高尔夫,所以最短答案以字节为单位 您可以假设输入字符串始终有效 输入字符串仅包含大写字母 原始编号始终按升序排列 您可以以字符串或整数格式返回数字 字母将仅在一个单词之间而不是在整个字符串之间随机播放。字母可以在字符串中的任何位置随机播放。 这些数字只能是1到9(含)之间的数字(ONE至NINE) 可能的未加密字符串 在将字符串从数字转换为字符串之后,下面是这些字符串的列表: 1 -> ONE 2 -> TWO 3 -> THREE 4 -> FOUR 5 -> FIVE 6 -> SIX 7 -> SEVEN 8 -> EIGHT 9 -> …

16
有点紧张․․․
输入: 我们接受两个输入: b具有两个不同值的输入:Left和Right。† 和一个正整数n。 输出: 基于向左/向右输入,我们输出范围内的以下两个序列之一1-n(在显示前125个项目的序列以下): Left: 1, 6, 7, 56, 57, 62, 63, 960, 961, 966, 967, 1016, 1017, 1022, 1023, 31744, 31745, 31750, 31751, 31800, 31801, 31806, 31807, 32704, 32705, 32710, 32711, 32760, 32761, 32766, 32767, 2064384, 2064385, 2064390, 2064391, 2064440, 2064441, 2064446, 2064447, 2065344, 2065345, 2065350, 2065351, …

12
您所有的基地97都属于我们
许多编程语言都是使用可单独打印的ASCII,制表符和换行符编写的。然后将这97个字符存储在8位字节中(实际上能够容纳256个不同的字符!),这效率非常低-尤其是在代码高尔夫球中,每个字节都很重要!在这一挑战中,您将可以通过使用基本转化来降低得分。 挑战 您的程序/函数将字符串或字符数组作为输入,然后将其解释为以97为基数的数字。然后,它将其转换为以256为 基数的数字,并对表示该数字所需的符号(即字节)数进行计数。该计数将是您的程序/功能的输出/返回值。 一个使用base-2和base-10(二进制和十进制)的简单示例:如果输入为10110,则输出将为2,因为10110 2 = 22 10(表示输出必须用两位数字表示)。类似地,1101 2变为13 10,也给出2的输出,而110 2变成6 10,所以输出为1。 输入字符串可以包含所有95个可打印的ASCII字符,以及换行符\n和文字选项卡\t,这 将为基础转换创建97个符号的源字母。确切的字母表因此将(取代\t和\n与实际文字标签和换行;音符换行以下字面空间): \t\n !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ 请注意,该字母的顺序很重要:例如,base-97 \t对应于decimal 0,并且!对应于decimal 3。 一些测试用例:(您不需要处理空字符串) Input Output 'example@domain.com' 15 'All your base are belong to us!' 26 ' abcd' 9 '~ abcd' 10 'ABCDEFGHIJK' 9 'zyxwvutsrpq' 10 '{".~"}.~' 7 '\t\t\t\t\t\t\t\t' 1 (with \t …

21
输出我的对角线位置的平方
给定一个数字n,输出一个落在n*n方矩阵的对角线上的从1开始的索引的有序列表。 例: 输入以下内容3: 正方形应为: 1 2 3 4 5 6 7 8 9 现在,我们选择所有所代表的指数\,/或X(#或者非对角线位置被拒绝) \ # / # X # / # \ 输出应为: [1,3,5,7,9] 测试用例: 1=>[1] 2=>[1,2,3,4] 3=>[1,3,5,7,9] 4=>[1,4,6,7,10,11,13,16] 5=>[1,5,7,9,13,17,19,21,25] 没有可接受的答案。我想知道每种语言的最短代码。
18 code-golf  math  matrix 

1
Ascii用户界面
在这一挑战中,我们提供了Ascii用户界面。 +----------------------+ |+-----------++-------+| ||<- Previous||Next ->|| |+-----------++-------+| |== The title == | | | |Lorem ipsum dolor | |sit amet... | |+--------------+ | ||Post a comment| | |+--------------+ | |+-----------------+ | ||User X commented:| | || | | ||This is amazing! | | |+-----------------+ | |+-----------------+ | ||User Y commented:| …

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.