编程拼图和代码高尔夫

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

30
您自己的“ for”指令
您自己的“ for”指令 假设您有以下输入: a, b, c, d 输入可以单行使用任何格式“ a / b / c / d”或“ a,b,c,d”等。 您也可以有4个输入。 您必须编写以下行为(此处为伪代码): var i = <a> while (i <b> <c>) print i i = i + <d> print "\n" 以下是一些测试案例: input : 1,<,10,1 output : 1 2 3 4 5 6 7 8 9 …
38 code-golf 

30
不要给我五个!
题 : 您将获得序列的开始和结束整数,并应返回其中不包含数字的整数数目5。应该包括开始和结束编号! 例子: 1,9→1,2,3,4,6,7,8,9→结果8 4,17→4,6,7,8,9,10,11,12,13,14,16,17→结果12 50,60→60→结果1 -59,-50→→结果0 结果可能包含五个。 起始编号将始终小于终止编号。两个数字也可以为负! 我对您的解决方案以及解决方案的方式感到非常好奇。也许你们中有人会找到一个简单的纯数学解决方案。 编辑 这是一个代码高尔夫球挑战,因此最短的代码获胜。
38 code-golf  math 

13
零和保障
介绍 考虑一个非空整数列表L。甲零和切片的大号是的连续子序列大号其总和等于0。例如,[1,-3,2]是零和切片[-2,4,1,-3,2,2 ,-1,-1],但[2,2]不是(因为它的总和不为0),[4,-3,-1]也不是(因为它不连续)。 的零和切片的集合大号是零和盖的大号如果每一个元素属于切片中的至少一个。例如: L = [-2, 4, 1, -3, 2, 2, -1, -1] A = [-2, 4, 1, -3] B = [1, -3, 2] C = [2, -1, -1] 三个零和切片A,B和C构成L的零和覆盖。同一切片的多个副本可以出现在零和封面中,如下所示: L = [2, -1, -1, -1, 2, -1, -1] A = [2, -1, -1] B = [-1, -1, 2] …

30
从babbab到zyzyz的每个词
您的任务是编写一个程序,该程序将输出具有以下结构的每五个字母单词的可读列表: 辅音-元音-辅音-元音 输出应按字母顺序排序,每行一个单词,并且没有重复的单词两次。可以是小写或大写,但不能混合使用。因此,列表可以像这样开始和结束: babab babac babad ... zyzyw zyzyx zyzyz 元音是一个 - ë - 我 - Ø - ü - Ÿ,其他20个英文字母都是辅音字母。 单词不一定是实际的词典单词。 最短的代码胜出。 注意:几年前,我在大学网站上偶然发现了一个完全符合此要求的程序。原来我的名字和姓氏符合cvcvc约束,我一直在自我搜索。

30
查找与零相邻的最大数字
挑战: 以向量/整数列表作为输入,并输出与零相邻的最大数字。 规格: 与往常一样,可选的输入和输出格式 您可以假定将至少有一个零和至少一个非零元素。 测试用例: 1 4 3 6 0 3 7 0 7 9 4 9 0 9 0 9 15 -2 9 -4 -6 -2 0 -9 -2 -11 0 0 0 0 0 -12 10 0 0 20 20 祝你好运,打高尔夫球愉快!
38 code-golf  number 

30
它是一个平衡的数字吗?
如果数字的每半位数之和相等,则数字是平衡的,因此:1423是平衡的,因为1+4 = 2+3,所以是:42615因为4+2=1+5。请注意,如果数字的位数为奇数,则中间的数字不包含在任何一侧(或包含在两侧)。 挑战: 取一个正整数作为输入,如果它是平衡的,则输出一个真实值,如果不平衡,则输出一个虚假值。 测试案例(真实) 1 6 11 141 1221 23281453796004414 523428121656666655655556655656502809745249552466339089702361716477983610754966885128041975406005088 测试用例(假) 10 12 110 15421 5234095123508321 6240911314399072459493765661191058613491863144152352262897351988250431140546660035648795316740212454 不会有从零开始的数字,例如00032代替32。您必须支持至少100个数字(大于2^64-1)的数字。与往常一样,是可选的输入格式,因此如果需要,您可以在数字前后加上撇号。
38 code-golf  number 

2
防辐射软喹
很简单:制作一个适当的藜,如果您删除任何字符,它仍然是藜。 此代码与防辐射的quine之间的区别在于,如果您的程序是AB,A将输出防辐射的quine AB,但在这里A将输出A。 编码高尔夫球,所有标准规则,标准漏洞适用,不作弊。

4
宝贝,你是古罗马作家
日语的罗马化将日语文本转换为拉丁字符。在此挑战中,将为您提供一串日文字符作为输入,并期望将其转换为正确的ASCII字符串。 您需要知道什么 日语有三种书写系统:平假名(弯曲的用于简短单词),片假名(用于从其他语言借来的声音和单词的角形)和汉字(最初来自中文的密集字符)。在这个挑战中,我们将只担心平假名。 平假名音节中有46个字符。每个字符代表一个音节。字符按第一声音(辅音)和第二声音(元音)组织。按顺序排列的列是aiueo。 : あいうえお k: かきくけこ s: さしすせそ t: たちつてと n: なにぬねの h: はひふへほ m: まみむめも y: や ゆ よ r: らりるれろ w: わ を N: ん (如果复制并粘贴此表,请注意,我已使用表意空格U + 3000来分隔y和w) 因此,例如あとめ应该产生的输出atome。第一个是a,第二个是to,第三个是me。 例外情况 像任何一种好的语言一样,日语也有其规则的例外,而平假名表也有几种例外。这些字符的发音与其在表中的位置所暗示的略有不同: し:shi,not si ち:chi,not ti つ:tsu,not tu ふ:fu,nothu 达库ten “ dakuten”一词的意思是“泥泞的印记”:dakuten将声音转换成它们的浊音(通常);例如,かka变成か゛ga。更改的完整列表: k→交通g s→交通z t→交通d h→交通b 例外也会发生变化:し゛:(ji或zhi),不是zi …

30
永远不要告诉我赔率
输入值 甲整数Ñ(≥1)和一个数字d的整数(例如0≤ d ≤9)。 以任何顺序;从标准输入或参数或任何东西; 程序或功能;等等 输出量 从1到整数Ñ包容(按顺序),其十进制表示包含一个偶数的数目d秒。(也就是说,列表中的整数分别是具有偶数d的整数。) 特别是,可以采用任何标准格式等。输出不必用十进制表示。 如果输出为单个字符串,则整数必须以某种方式分隔(空格,逗号,换行符,空字节等)。 例子 in(d,n) ↦ out 1,12 ↦ 2 3 4 5 6 7 8 9 11 0,111 ↦ 1,2,3,4,5,6,7,8,9,11,12,13,14,15,16,17,18,19,21,22,23,24,25,26,27,28,29,31,32,33,34,35,36,37,38,39,41,42,43,44,45,46,47,48,49,51,52,53,54,55,56,57,58,59,61,62,63,64,65,66,67,68,69,71,72,73,74,75,76,77,78,79,81,82,83,84,85,86,87,88,89,91,92,93,94,95,96,97,98,99,100,111 谢谢 以quintopia为标题。

1
修复Meeesesessessesseesseesseesseseded upp teeexexextext
这是受星期一迷你高尔夫#6:Meeesesessess upp teeexexextext启发的 背景 ETHproductions很难在他通常的网页上输入文本。每当他使用数字或字母时,文本都会被注释掉。您的任务是帮助他键入内容,从而实现正常的行为。 转变 转换影响[0-9A-Za-z]由任何非字母数字字符分隔的字母数字()字符的运行。在下面的示例中,第一行将转换为第二行(其他行显示了转换的细分) An12num: Annn1n12n12nn12nn12nun12nun12numn12num A nn n1 n12 n12nn12n n12nun12nu n12numn12num 特别是,运行中第一个字符之后的任何字母数字字符都将转换为到目前为止的整个运行,除了第一个字符。此外,如果字符是字母(而不是数字),则该字符将变成两次运行。 值得庆幸的是,退格键将删除最后一个字符,并重置运行的开始。 任务 这次您的任务是不执行转换。相反,给定输入字符串,您必须返回编码后的文本,如果转换后将导致输入。输出必须尽可能短,\<char>以单个字符计。 文本编码如下: \ -> \\ backspace character -> \b linefeed -> \n 您可以编写程序或函数,通过STDIN(或最接近的替代方案),命令行参数或函数自变量获取输入,并通过STDOUT(或最接近的替代方案),函数返回值或函数(out)参数输出结果。 测试用例 每个测试用例都是两行,第一行是输入,第二行是输出。 Heeeeeelp me. It shouldn't be messed up. Hee \blp\b me\b. It\b sh\bou\bld\bn't be\b me\bss\bed\b up\b. alert("Hello, …
38 code-golf  string 

30
里恩数
Champernowne常数是通过串联第一个n数字而n趋于无穷大而构成的数字。看起来像这样: 0.123456789101112131415161718192021222324252627282930... 现在,我将向您介绍里恩号码。可以将Champernowne常数的最小值视为一个整数。我将第一个数字的Rien号码n称为Ri(n)。这是如何制定的: 第一个n自然数(序列{1,2,3,...})是连接在一起的。 然后根据数字值对该结果进行排序。这样1..12会看起来像011111223456789。 由于Rien数不能有前导零,因此我们将所有0s 移到有效的位置,同时使数保持最小,从而得出101111223456789。这是Ri(n),在这种情况下是Ri(12)。 以下是Ri(n)的一些结果: Ñ 日(Ñ) 1 1 2 12 3 123 7 1234567 9 123456789 10 10123456789 15 101111111223344556789 34 10001111111111111222222222222223333333334444555555666777888999 42 100001111111111111122222222222222233333333333333444444444455556666777788889999 45 100001111111111111122222222222223333333333333344444444444444555556666777788889999 55 10000011111111111111122222222222222223333333333333333444444444444444444455555555555566666777778888899999 100 100000000000111111111111111112212222222222222222233333333333333333333444444444444444444444555555555555555555555666666666666666666667777777777777777777888888888188888888888899999999999999999999 99910000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222233333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333344444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555566666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666677777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888899999999999999999999999999999999999999999999999999999999999999999999999999999999 目标假定n输入1≤ <10000(通过自变量,STDIN或硬编码,如果您的语言不支持常规输入),则输出/返回Ri(n)。 这是一个代码高尔夫球,因此以字节为单位的最短代码获胜。您可以使用在比赛后制作的语言,但前提是该语言不是用来回答此挑战的。(当然,如果它提供了一种有趣的解决方案,则可以使用它,但是将您的答案标记为不竞争。) 参考实施 我在IE中对此进行了测试,因此实际上应该没有问题。如果有是一个问题,有一个简单的解决方案:让一个理智的浏览器。 function min(n) { var seq = []; for(var i = …

8
我可以分开拼图吗?
编写一个程序或函数,使其接受一个矩形文本网格,其中每个单元格为an A或a B。所有A单元将形成简单连接的形状,即它们将全部正交连接而没有孔(对角相邻的字母不算作已连接)。同样,所有B单元将形成另一个简单连接的形状。网格将始终包含至少一个A和至少一个B。 想象一下,网格实际上是两个块状的薄塑料片,由A和B部分表示。如果将它们平放在桌子上,是否可以将两部分滑开同时将它们完全放在桌子上? 如果可以通过简单地将两个和形状分开来打印或返回真实值。如果不是,请打印或返回伪造的值。AB 例如,输入 AAA ABB AAA 是正确的,因为该BB部分可以向右滑动,将其与分开A: AAA A BB AAA 但是,输入 AAAA ABBA ABAA 是虚假的,因为无法将A和和B部分滑开而又不会重叠。 以字节为单位的最短代码获胜。如果需要,可以使用任意两个可分开打印的ASCII字符代替A和B。 真实示例(用空行分隔) BBB BAA BBB BA A B AB AB AAA BBB AAAAB ABBBB ABBA ABBA AAAA AAAAAABBBBBBBBB AABBBBBBBBBBBBB AAAAAAAAAABBBBB AABBBBBBBBBBBBB AAAAAAAAAAAAAAB AAAAAAAAAAAA ABABABABABAB BBBBBBBBBBBB BAAAAABB BBAAABBB BBBABBBB BBBABBBB BBBABBBB BBBBBBBB …

28
感恩节什么时候?
背景 有些假期有固定的,容易记忆的日期,例如10月31日,12月25日等。但是,有些假期会很麻烦。它们被指定为“ 9月的第一个星期一”或“ 11月的第四个星期四”之类的东西。我应该怎么知道那是什么时候? 我所知道的是感恩节快到了,所以我需要一个程序来帮助我确定感恩节的时间。甚至有人说现在是明天,因此您的程序需要尽可能短,以确保我可以及时重新输入。 挑战 创建一个程序或功能,给定最多四位数的年份(例如2015或1984),该程序或功能输出或返回该年美国感恩节的日期。根据Wikipedia页面,感恩节定义为11月的第四个星期四。(提示:该页面还包含有关日期模式的一些有趣信息。) 输入:十进制数字,最多四位数字,代表共同时代(CE)中的一年。范例:987、1984、2101 输出:该年中感恩节降落的日期(包括月和日),如果存在的话,降落的日期。这可以是任何合理的格式;用你最好的判断。在所有情况下都应使用公历,即使当时未使用它也是如此。 (注意:确保正确处理handle年!) 测试用例 输入1: 2015 输出1: Nov 26 输入2: 1917 输出2: Nov 22 计分 提交内容将以字节计分。我建议您访问该网站,尽管您可以使用任何喜欢的计数器来跟踪您的字节数。 奖金 如果您将BCE日期处理为负数(例如-480将是Thermopylae战斗的年份),则得分的-25%。 负测试用例输入: -480 对应的输出: Nov 25 这是代码高尔夫球,因此最低分获胜! 编辑:我将Thomas Kwa的TI-BASIC提交标记为已接受。不要让这种情况阻止您提交新条目! 排行榜 这是一个堆栈片段,用于按语言生成常规排行榜和获胜者概述。 为确保您的答案显示出来,请使用以下Markdown模板以标题开头。 # Language Name, N bytes N您提交的文件大小在哪里。如果您提高了分数,则可以将旧分数保留在标题中,方法是将它们打掉。例如: # Ruby, <s>104</s> <s>101</s> 96 bytes 如果要在标头中包含多个数字(例如,因为您的分数是两个文件的总和,或者您想单独列出解释器标志罚分),请确保实际分数是标头中的最后一个数字: # …
38 code-golf  date 

19
时间敏感的回声
背景 的 echo程序是如此整洁。您可以说任何话,并且每次都能完美地重复您的话!多么酷啊!令人失望的是,无论您的键入速度如何,它都会一次全部重复输入,这不太现实。我们必须解决该问题。 任务 您的程序应从STDIN或最接近的等效项获取其输入。它应一一读取用户的行,可能显示一些提示,直到他们输入空行。此后,它将按照给定的顺序将行打印到STDOUT或最接近的行。最后(空)行不会打印,最后一个打印行不需要尾随换行符。 此外,程序应保留每行之间的时间间隔:如果用户花了x几秒钟进入一行,则它应花费x该程序几秒钟来打印它。这也适用于第一行和最后一行;空行不会被打印,但是程序仍然要等待终止。 例 这是该程序的示例会话。所有不产生文本的操作均在方括号中描述,(可选)提示显示为>。 [begin program] > fhtagn[enter; 1.48s passed since starting program] > yum yum[enter; 3.33s passed since previous enter] > so cool![enter; 2.24s passed since previous enter] > [enter; 0.23s passed since previous enter] [wait 1.48s]fhtagn [wait 3.33s]yum yum [wait 2.24s]so cool! [wait 0.23s, …
38 code-golf 

17
花环化
花环的话 一个花环字是可以像一个花环被串成一个词,因为它与它开头相同的字母结束。这些字母甚至可以重叠! 例如,underground是花环顺序词3,因为它以相同的3个字符开头和结尾und。这意味着它可以像一样串在一起undergroundergrounderground...。 alfalfa也是花环字!它的阶数为4。它的开始和结束是alfa。它可以串在一起,像这样:alfalfalfalfa。 我称其为“ n花环化”的过程是,一旦确定花环词的顺序,就采用原始词并添加使它循环成花环n时间所需的句段。因此,由于onion是顺序2花环词,您需要onion将第一个2字母切掉,ion然后将其添加到结束2时间中onionionion。 目的 制作一个程序或函数,该程序或函数从标准输入或函数自变量中获取输入,并打印出或返回经过加字处理的单词。 所有单词均为小写,单词的最高顺序为length(word) - 1。 示例I / O "onion" --> "onionionion" "jackhammer" --> "jackhammer" "abracadabra" --> "abracadabracadabracadabracadabracadabra" "" --> "" "zvioz" --> "zviozvioz" "alfalfa" --> "alfalfalfalfalfalfa" "aaaa" --> "aaaaaaa" 这是code-golf,因此最少的字节数获胜。
38 code-golf  string 

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.