编程拼图和代码高尔夫

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

16
生成错误的XKCD浏览器
挑战 给定XKCD漫画的编号,输出该漫画的标题文本(鼠标悬停文本)。 但是,给定数字859或时,程序必须引发错误404。 规则 给出的数字将始终是现有的漫画(除外404)。 您的程序不得为859或以外的其他任何数字引发错误404。 供参考,漫画404不存在,859为: Brains aside, I wonder how many poorly-written xkcd.com-parsing scripts will break on this title (or ;;"''{<<[' this mouseover text." 不允许使用网址缩短器。您可以使用互联网获取标题文本。 例子 Input > Output 1642 > "That last LinkedIn request set a new record for the most energetic physical event ever observed. Maybe …

30
代码Johnny代码,代码!
摇滚乐队的创始者查克·贝瑞(Chuck Berry)今天不幸去世。 考虑一下他的著名歌曲“ Johnny B. Goode ” 的合唱: Go, go Go Johnny go, go Go Johnny go, go Go Johnny go, go Go Johnny go, go Johnny B. Goode (已采用其他 方法将其标点,但以上内容将用于挑战。) 挑战 给定一个非空的小写字母az字符串,输出“ Johnny B. Goode”的合唱以及输入字符串的所有实例Go或go替换为输入字符串的所有实例,并以相同的方式大写。 尾随换行符可以可选地跟随。合唱团中的其他所有内容都不应改变。 例如,如果输入是code输出,则必须精确 Code, code Code Johnny code, code Code Johnny code, code Code Johnny …
75 code-golf  string 

30
“ a”和“ b”的数量必须相等。你有电脑吗?
在彼得·林茨(Peter Linz )的一本流行(且必不可少的)计算机科学书籍《形式语言和自动机简介》中,经常提到以下形式语言: 主要是因为无法使用有限状态自动机处理该语言。此表达式的意思是“语言L由'a'的所有字符串组成,后跟'b',其中'a'和'b'的数量相等且非零”。 挑战 编写一个工作程序/函数,该程序将获取仅包含“ a”和“ b”的字符串作为输入,并返回/输出真值,并说出该字符串是否对形式语言L有效。 您的程序不能使用任何外部计算工具,包括网络,外部程序等。Shell是此规则的例外;例如,Bash可以使用命令行实用程序。 您的程序必须以“逻辑”方式返回/输出结果,例如:返回10而不是0,“哔”声,输出到stdout等。此处有更多信息。 适用标准代码高尔夫规则。 这是一个代码高尔夫球。以字节为单位的最短代码获胜。祝好运! 真实的测试案例 "ab" "aabb" "aaabbb" "aaaabbbb" "aaaaabbbbb" "aaaaaabbbbbb" 虚假的测试用例 "" "a" "b" "aa" "ba" "bb" "aaa" "aab" "aba" "abb" "baa" "bab" "bba" "bbb" "aaaa" "aaab" "aaba" "abaa" "abab" "abba" "abbb" "baaa" "baab" "baba" "babb" "bbaa" "bbab" "bbba" "bbbb"

30
引发StackOverflow错误的最短程序
编写一个程序,该程序会引发StackOverflow错误或所用语言的等效语言。例如,在Java中,程序应抛出java.lang.StackOverflowError。 您不允许定义一个调用自身或新类的函数(mainjava中包含的类除外)。它应该使用所选编程语言的类。 并且它不应显式抛出错误。
75 code-golf 


6
硬编码高尔夫:正则表达式可除以7
Matthias Goergens的正则表达式为25,604个字符(低于原来的63,993个字符),以匹配可以被7整除的数字,但是其中包括很多毛病:多余的括号,分布(xx|xy|yx|yy而不是[xy]{2})和其他问题,尽管我敢肯定重新开始将有助于节省空间。这可以做多小? 允许使用各种合理的正则表达式,但正则表达式中不包含可执行代码。 正则表达式应匹配所有包含十进制表示形式的数字的字符串,该数字可以被7整除。不允许开头为0的正则表达式的额外功劳。

30
从编程难题到代码高尔夫
您的任务是编写一个输出确切字符串的程序Programming Puzzles(可选的换行新行),但是当所有空格,制表符和换行符都被删除时,它的输出Code Golf(可选的换行新行)。 您的字节数是第一个程序的计数,尚有空格。 笔记 在空间Code Golf 和 Programming Puzzles将作为去除的部分被除去,所以相应的计划。 在0x09、0x0A和0x20分别不是制表符,换行符或空格的编码中,这些字符将被删除。 如果您的代码是 42 $@ rw$ @42 然后必须输出Programming Puzzles。而且,用相同的语言 42$@rw$@42 必须输出Code Golf。 这是代码高尔夫球,因此以字节为单位的最短代码胜出!祝好运!

17
丹尼斯高尔夫温度计
丹尼斯为此社区付出了巨大的努力,包括担任主持人,语言设计师和TIO提供者。 不幸的是,他的四岁女儿得了感冒,所以让我们所有人为他提供温度计,以帮助她了解自己的康复情况(可能很快): .-----------. | | | | '-. .-' .-' - '-. |107.6- 42.0| |106.7- 41.5| |105.8- 41.0| |104.9- 40.5| |104.0- 40.0| |103.1- 39.5| |102.2- 39.0| |101.3- 38.5| |100.4- 38.0| | 99.5- 37.5| | 98.6- 37.0| | 97.7- 36.5| | 96.8- 36.0| | 95.9- 35.5| | 95.0- 35.0| '---. - …

11
错误404:找不到字符
情境 您的一位朋友正在为家庭作业而苦苦挣扎。他需要一个简单的程序来打印前404个自然数: 1 2 3 4 5 6 7 8 9 10 11 ... 401 402 403 404 您的挑战很简单:为他编写此程序。 但是,您的连接很糟糕,因此每次发送程序时都会丢失1个随机字符。为防止这种情况破坏您的程序,您必须使它删除任何单个字符都不会起作用:无论如何,程序都可以工作。(原始程序也必须工作。) 由于连接太差而无法发送大文件,因此您的代码必须尽可能短。 TL:DR-制作防辐射程序以输出数字1至404 规则/细节 输出可以是任何合理格式的整数列表(由空格,换行符,逗号等分隔)。但是,您的输出必须一致,并且在修改程序时不能更改。 禁止包含逻辑,执行实际代码,生成号码列表等的命令行标志。 这是代码高尔夫球,因此最短的提交(以字节为单位)获胜!

30
无差别编程
如果每个字符串的字符出现相同的次数并且至少出现两次,那么我们说该字符串是不歧视的。 例子 "aa!1 1 !a !1"是非歧视性的,因为每个字符 ,!,a和1出现三次。 "abbaabb"是不是 不歧视的,因为b往往会出现a。 "abc"也不会造成 歧视,因为字符不会出现至少两次。 任务 写一个非歧视性的程序或函数返回一个truthy如果给定的字符串值,非歧视的和falsy否则值。 也就是说,以自己的源代码运行的程序应返回真实值。 每个提交都必须能够处理包含可打印ASCII的非空字符串,以及出现在提交源代码中的所有字符。 测试用例 真相: <your program's source code> "aaaa" "aa!1 1 !a !1" "aabbccddeeffgg" "1Q!V_fSiA6Bri{|}tkDM]VjNJ=^_4(a&=?5oYa,1wh|R4YKU #9c!#Q T&f`:sm$@Xv-ugW<P)l}WP>F'jl3xmd'9Ie$MN;TrCBC/tZIL*G27byEn.g0kKhbR%>G-.5pHcL0)JZ`s:*[x2Sz68%v^Ho8+[e,{OAqn?3E<OFwX(;@yu]+z7/pdqUD" 虚假: "a" "abbaabb" "abc" "bQf6ScA5d:4_aJ)D]2*^Mv(E}Kb7o@]krevW?eT0FW;I|J:ix %9!3Fwm;*UZGH`8tV>gy1xX<S/OA7NtB'}c u'V$L,YlYp{#[..j&gTk8jp-6RlGUL#_<^0CCZKPQfD2%s)he-BMRu1n?qdi/!5q=wn$ora+X,POzzHNh=(4{m`39I|s[+E@&y>"

30
打印一些JSON
这个挑战很简单,但是希望有很多方法可以解决: 您需要打印/返回至少15个字符的有效JSON 对象,并且不计算不必要的空格。 您的程序应该无需任何输入即可运行。 为了清楚起见,JSON对象以花括号开头和结尾{},并且包含零个或多个以逗号分隔的key:value对。完整的JSON规范可在json.org上找到,并且代码的输出必须通过此验证器。 因此,任何几种情况会不会是有效的: 4 //Too short, not an object "really, really long string" //A string, not an object ["an","array","of","values"] //An array is not a JSON object {"this":4 } //You can't count unessential whitespace {"1":1,"2":3} //Too short {"a really long string"} //Not valid JSON, it needs a value …
74 code-golf  json 

11
九十亿个上帝的名字
上帝的90亿个名字是Arthur C. Clarke的短篇小说。这是关于一群藏族僧侣的,他们的命题是写下所有可能的神的名字,并用自己的字母写下。从本质上讲,他们致力于编写受某些规则限制的字母的所有可能排列。在故事中,修道院聘请了一些工程师编写程序来为他们完成所有工作。您的目标是编写该程序。 规则: 和尚的字母使用13个字符(根据我的估计)。您可以使用ABCDEFGHIJKLM或其他一组13个字符。 可能名称的最小长度为1个字符。最大长度为9个字符。 角色连续重复的次数不得超过3次。AAABA是有效名称,但AAAAB不是。 你的程序应该从顺序打印出来(到文件)每一个可能的名字A来MMMLMMMLM为任意字符,也有字母分开(换行符,分号,等等)。 这是代码高尔夫球,您可以使用任何语言。2014年6月1日之前最短的解决方案将获胜。 编辑:名称应以开头A和结尾MMMLMMMLM,依次遍历所有数十亿个名称。但是具体的顺序由您决定。您可以先打印所有1个字母的名称,然后打印所有2个字母的名称,等等。或者您可以打印所有以开头的名称A,然后打印以开头的所有名称B,或其他模式。但是,假设他们有时间,人应该应该能够通读文件并确认文件全部存在,并以您选择的任何逻辑顺序进行确认。

22
乌龟一直下来
编写一个程序或函数,该程序或函数需要一个正整数,并打印或返回许多ASCII艺术乌龟的堆栈,其中每只乌龟都比上面的乌龟大。 具体来说,如果输入为1,则输出应为: __ /,,\o 如果输入是2: __ o/,,\ ____ /,__,\o 如果输入是3: __ /,,\o ____ o/,__,\ ______ /,____,\o 如果输入是4: __ o/,,\ ____ /,__,\o ______ o/,____,\ ________ /,______,\o 如果输入是5: __ /,,\o ____ o/,__,\ ______ /,____,\o ________ o/,______,\ __________ /,________,\o 对于较大的输入,依此类推。 注意: o底部乌龟的头()始终在右侧。然后,上面的海龟头来回交替。 没有行可以有尾随空格。 不允许使用多余的前导空格。(即,底部乌龟的背面应在该行的开头。) 允许使用一个可选的尾随换行符。 以字节为单位的最短代码获胜。

5
仅绘制一条闭合曲线重绘图像
受到vi.sualize.us的启发 目标 输入是灰度图像,输出是黑白图像。输出图像仅包含一条闭合曲线(回路),不允许与自身相交或接触自身。在整个图像中,线的宽度应保持恒定。这里的挑战是找到一种算法来做到这一点。输出仅需代表输入图像,但具有任何艺术自由。分辨率不是很重要,但是长宽比应该保持不变。 例 更多测试图片

30
斐波那契+嘶嘶声=斐波那契!
斐波那契+ FizzBu​​zz =斐波那契! 您的挑战是创建Fibo Nacci程序! Fibo Nacci程序输出前100个斐波那契数(从1开始)。 如果斐波那契数可被2 和 3整除(即它可被6整除),则输出FiboNacci而不是数字。 否则,如果斐波那契数可被2整除,则输出Fibo而不是该数。 否则,如果斐波那契数可被3整除,则输出Nacci而不是该数。 规则 该程序不应该输入。 程序应\n在每次输入后输出新行()。 该程序不应将任何内容打印到STDERR。 程序必须输出前100个 Fibo Nacci条目(从1开始)。 不允许使用标准漏洞(默认情况下)。 这是代码高尔夫球,因此以字节为单位的最短代码胜出! 这是预期的输出: 1 1 Fibo Nacci 5 Fibo 13 Nacci Fibo 55 89 FiboNacci 233 377 Fibo Nacci 1597 Fibo 4181 Nacci Fibo 17711 28657 FiboNacci 75025 121393 Fibo Nacci …

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.