Questions tagged «code-golf»

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

30
检测MS Windows
挑战 创建一个程序,该程序在Microsoft Windows上运行时返回真实值(为简单起见,我们将坚持使用Windows 7、8.1和10),而在任何其他操作系统(OSX,FreeBSD,Linux)上运行时则返回假值。 规则 无法在平台上运行/编译的代码不算作假值。 获奖标准 我将其标记为code-golf,因此得分最低者获胜,但是我也非常有兴趣看到针对该问题的创造性解决方案。

30
你好世界0.0!
资料来源:Dilbert,1992年9月8日 我希望在经典的“ Hello World!”上添加新的变化。程序。 编写输出以下内容的程序Hello World!: 字符串/字符文字 数字(任何基数) 预置的函数返回“ Hello World!” RegEx文字 除“ O” †和0以外。 †“ O”大写,“ o”不可接受。

5
通过图标识别堆栈交换站点
在Stack Exchange上花了一段时间之后,我可以通过它们的小图标(也是他们的收藏夹图标)来识别“热网络问题”中的大多数站点,但是当然不是全部。让我们编写一个可以的程序!给定(当前)132个图标之一,其中包括日语的Stack Overflow(仍处于私人Beta版),您将编写确定站点的代码: 我已经将所有这些图像的ZIP文件上传为GitHub上的 PNG 。单击“原始”按钮将其下载。以上图标的顺序是zip中文件名的字母顺序。 相应的站点名称(按此顺序)是: 显示代码段 Academia Android Enthusiasts Anime & Manga Ask Different Arduino Ask Ubuntu Astronomy Aviation Video Production Beer Bicycles Biology Bitcoin Blender Board & Card Games Stack Overflow in Portuguese LEGO Answers Buddhism Chemistry Chess Chinese Language Christianity Programming Puzzles & Code Golf Code …

30
N(e(s(t)))一个字符串
要“函数嵌套”字符串,您必须: 将第一个字符视为函数,然后将后续字符视为该函数的参数。例如,如果输入字符串是Hello,那么第一步将是: H(ello) 然后,对每个子字符串重复相同的步骤。这样我们得到: H(ello) H(e(llo)) H(e(l(lo))) H(e(l(l(o)))) 您的任务是编写“函数嵌套”字符串的程序或函数。例如,如果输入字符串为Hello world!,则应输出: H(e(l(l(o( (w(o(r(l(d(!))))))))))) 输入将仅包含可打印的ASCII,并且您可以采用任何合理的格式输入和输出。例如,STDIN / STDOUT,函数参数和返回值,对文件的读写等。 为简单起见,您还可以假定输入将不包含括号,并且将不为空。 Input: Nest a string Output: N(e(s(t( (a( (s(t(r(i(n(g)))))))))))) Input: foobar Output: f(o(o(b(a(r))))) Input: 1234567890 Output: 1(2(3(4(5(6(7(8(9(0))))))))) Input: code-golf Output: c(o(d(e(-(g(o(l(f)))))))) Input: a Output: a Input: 42 Output: 4(2) 像往常一样,我们所有的默认规则和漏洞都适用,并且以字节计的最短答案为准!

15
前途和同事
曾经幻想创建像#brexit或#brangelina这样的很酷的Twitter标签吗?这高尔夫适合你。 编写一个程序,接受两个字符串A和B作为输入,并根据以下算法合并它们: 设nA中的元音组数(例如,在位置3和位置5 britain有2个元音组)。 iai 如果n = 1:从第一个元音组位置截断A(例如:bill=> b) 如果n> 1:从n-1第n个元音组位置开始截断A (例如:programming=> progr,britain=> br) 删除B开头的所有辅音(jennifer=> ennifer) 连接修改后的A和B 元音是aeiou; 辅音是bcdfghjklmnpqrstvwxyz。 输入值 您可以假设输入字符串是小写字母,并且至少包含一个元音和一个辅音。 例子 brad + angelina => brangelina britain + exit => brexit ben + jennifer => bennifer brangelina + exit => brangelexit bill + hillary => billary angelina + brad …
76 code-golf 

24
抛出SIGILL的最短代码
背景 我们已经对抛出SIGSEGV提出了挑战,那么为什么不对抛出SIGILL提出挑战呢? 什么是SIGILL? SIGILL是在处理器处发出非法指令的信号,这种情况很少发生。收到SIGILL后的默认操作是终止程序并编写核心转储。SIGILL的信号ID为4。您很少遇到SIGILL,除了通过,我完全不知道如何在您的代码中生成它sudo kill -s 4 <pid>。 规则 您将在程序中具有root用户,但是如果出于任何原因您不想这样做,则也可以使用普通用户。我在使用德语语言环境的Linux计算机上,我不知道在捕获SIGILL后显示的英文文本,但是我认为它类似于“非法指令”。抛出SIGILL的最短程序获胜。
76 code-golf 


30
打印此钻石
这个问题像病毒一样在我的办公室中传播。有很多方法: 打印以下内容: 1 121 12321 1234321 123454321 12345654321 1234567654321 123456787654321 12345678987654321 123456787654321 1234567654321 12345654321 123454321 1234321 12321 121 1 答案是用字符打分的,字符越少越好。

30
警察和强盗:反正则表达式高尔夫
注意:此挑战现已关闭。以后的警察提交的任何意见都不会被视为接受的答案。这是为了确保将来没有人可以发布一个非常简单的正则表达式,而这个正则表达式将保持不变,因为没有人再对挑战感兴趣。 警察的挑战 您将编写满足以下规范的简短正则表达式: 您可以选择任何可以在线免费测试的口味。在StackOverflow上有很多在线测试人员。Regex101特别适合入门,因为它支持PCRE,ECMAScript和Python风格。您可以根据需要通过单击右上角的扳手来增加超时限制。请在答案中包括您选择的测试仪。 如果没有适合您选择的测试器,则您还可以使用ideone这样的在线解释器,并用宿主语言编写一个小脚本,人们可以使用该脚本来测试您的提交。 您可以使用该功能的任何功能,而这些功能不会直接调用宿主语言(例如Perl的代码评估功能)。 同样,您可以使用任何修饰符(如果您的口味中有修饰符),除非它们导致代码评估。 您的正则表达式必须在合理的时间内(不超过一分钟)接受至少一个字符串S,并拒绝至少一个字符串T,每个字符串T的长度至少为16且不超过256个字符。S和T可以包含非ASCII的Unicode字符,只要可以将它们输入到在线测试器中即可。任何这样的字符串对都是提交内容的关键。 您的正则表达式可能会花费任意其他输入任意长时间。 挑战的核心是制作很难找到密钥的正则表达式。就是说,要么很难分辨出不匹配的字符串,要么很难分辨出匹配的字符串(或者即使正则表达式需要几天才能完成除键的字符串之外的所有字符串)。 强盗的挑战 鼓励所有用户,包括提交了自己的正则表达式的用户,“破解”其他提交的内容。将提交的其中一个键发布在关联的注释部分时,该提交将被破解。 重要说明:即使您几乎可以将任何字符串用作键的一部分,也请确保发布的两个字符串都在16至256个字符(包括16个字符)之间。 如果提交内容持续存在72小时而没有被修改或破解,则作者可以通过将其编辑为答案中的破坏者标签来显示有效密钥。这将使他的回答“安全”,即不再被破解。 每个用户每次提交只能进行一次破解尝试。例如,如果我向用户X提交:“您的密钥是0123456789abcdef/ fedcba9876543210。” 并且我错了,用户X会否认我的猜测是错误的,并且我将不再能够为该提交提交其他猜测,但是我仍然可以破解其他提交(其他人仍然可以破解该提交)。 破解的提交将被排除在争用之外(前提是它们“不安全”)。不应编辑或删除它们。如果作者希望提交新的正则表达式,则应在单独的答案中提交。 不要破解自己的提交! 注意:对于注释中的长字符串(不含空格),SE会以两个Unicode字符的形式插入手动换行符。因此,如果您在反引号中发布密钥的时间过长,以至于在非空格字符之间换行,则无法将密钥直接复制回正则表达式测试器中。在这种情况下,请提供与警察的正则表达式和您的密钥相关的正则表达式测试人员的永久链接-大多数测试人员都包括此功能。 计分 警察的得分将是其正则表达式的大小(以字节为单位)(如果不破解,则不包括模式加修饰符,不包括潜在的定界符)。“安全”提交的最低分数将获胜。 强盗的分数将是他们破解的提交数量。如果出现平局,则他们破解的提交的总字节大小将用于平局。在这里,最高字节数获胜。 如上所述,任何警察都可以作为强盗参加,反之亦然。 我将为挑战的两个部分分别维护排行榜。 排行榜 最近更新:2014/10/19,20:33 UTC 警察: 斜体提交尚不安全。 nneonneo,841字节 Wumpus Q.Wumbley,10,602字节 SP3000,52506个字节 user23013,53,884字节 nneonneo,656,813字节 强盗: user23013,破解:11,总大小: 733 + 30 + 2,447 + 71 + 109 + 121 + …

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的正则表达式的额外功劳。

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.