Questions tagged «code-bowling»

代码保龄球是解决大多数字节或复杂性的特定(通常是简单的)问题的竞赛。

21
原始和独特的保龄球
您面临的挑战很简单:仅使用唯一的字节以您选择的语言编写尽可能长的原始程序。(从该链接复制的原始程序的完整定义在此问题的底部。) 是的,没有附加条件。您的代码根本不需要做任何事情,只需运行就不会出错,满足原始程序的要求(上面链接),并且在使用的编码中不包含重复的字节。 出于以上解释和“原始程序”的链接定义的目的,错误定义为导致程序在有限的时间后完全无法运行或以非零退出代码终止的任何错误。 因为这是代码保龄球,最长而不是最短,所以代码获胜(按字节数衡量)。理论上最大可能的分数是256,因为可能有256个不同的字节。如果是平局,则以最高分的第一个答案为准。 这是原始程序的完整定义,从上面的链接复制而来: 让我们将原始程序定义为本身没有任何错误,但是如果您通过删除任何连续的N个字符的子字符串来修改它会出错的程序,其中1 <= N < program length。 例如,三个字符的Python 2程序 `8` 是原始程序,因为删除长度为1的子字符串导致的所有程序均会引起错误(实际上是语法错误,但任何类型的错误都可以): 8` `` `8 并且由于删除长度为2的子字符串而产生的所有程序也会导致错误: ` ` 例如,如果`8曾经是一个没有错误的程序,那么`8`它将不会是原始的,因为所有删除子字符串的结果都必须出错。

30
输出文本“代码保龄球”
代码保龄球 Brunswick Bowling雇用您来创建一个简单的程序,Code Bowling在他们的监视器上输出文本。这家公司值得一分钱,您觉得可以骗他们一些的钱。 职位描述清楚地表明,他们按计分方式付款,并且您很有信心可以操纵自己的计分系统,从而从中获益,并从这些人那里获得最大的薪水支票。这样做将需要您将尽可能多的代码打包到程序/函数中,即使它们的计分系统旨在防止您这样做。 拿出您的存钱罐,让我们编码! 挑战 面临的挑战是简单地输出文本Code Bowling,使其与此处编写的内容完全一样,并获得最高分。(请参阅下面的评分系统部分) 开头和结尾的换行符(换行符)是可以接受的。 您的代码可以是整个程序,也可以是可执行函数。 规则 强制性:此挑战是使用代码收集:通用规则,修订版1.0.0;有关详细信息,请参见Meta。 字符:字节比率 在代码保龄球中,字符计数比字节计数优先。显而易见的原因是,可以使用多字节unicode字符(例如🁴)代替单字节unicode字符来弄乱字节数,并使更多人知道谁用高字节unicode字符重命名最多的变量,而不是而不是最有策略地创建有意义的复杂代码的人。 变量/功能/对象名称 所有变量名称(或对象指针,函数名称等)应为1个字符长。使用2个字符的变量名称的唯一可接受时间是在使用了所有可能的1个字符的变量之后。使用3个字符的变量名称的唯一可接受时间是在使用了所有可能的2个字符的变量之后。等等。 未使用的 代码必须使用所有代码。意味着如果删除了任何单个字符(或不同的字符集),程序必须无法始终正确地完成任务。自然,如果没有程序的其余部分,该程序的子集将无法独自完成任务。 注释 除非程序或功能以某种方式使用了注释,否则不允许对字符计数进行注释。 评分系统: Pangram挑战: 七巧板是每个字母至少使用一次的句子。(敏捷的棕色狐狸跳过了懒狗)。 这种挑战类型具有计分系统,其中完美的Pangram可以达到理论上的最高分数(尽管您不需要至少每个字符都使用一次。)此外,多次使用任何字符都将招致惩罚。这个挑战也扩展到了不仅仅是字母字符。 评分标准: 使用的每个字符都会使您的得分提高1。 重复使用任何字母数字字符(az,AZ,0-9)将导致每次重复扣除3分(首次使用不会导致扣除)。 重复使用基本标点符号([!?.-,":';])-包括方括号-将导致每次重复扣除2分。 重复使用其他ASCII字符{`~@#$%^&*_+=|\/><}(包括花括号)将导致每次重复扣除4点。 使用空格,制表符和换行符将导致每次使用减少1分。也就是说,它们不计入角色总数。 上面未提及的字符(奇异字符)每次使用将导致扣1分。也就是说,它们不计入角色总数。 计分工具: 一个自动计分的小工具已经创建,可以在这里找到。 这是一个代码收集变体。得分最高的程序将获胜!(由于最高得分为94,因此,只要得分最高的人(如果可以达到的话)将被标记为接受的答案,但是其他人则可以继续保持乐趣)

23
您可以证明最复杂的“ Hello world”程序[关闭]
您的老板要求您编写一个“ hello world”程序。由于您获得了代码行的报酬,因此您希望使其尽可能复杂。但是,如果您仅添加无用的代码行,或者显然是无用的或令人困惑的内容,那么您将永远无法通过代码审查获得它。因此,挑战在于: 编写一个“ hello world”程序,该程序在您可以为代码中的每种复杂性给出“合理性”的条件下尽可能复杂。 该程序所需的行为是仅输出一行“ Hello world”(不带引号,但末尾带有换行符),然后成功退出。 “辩解”包括: 流行语兼容性(“现代软件是面向对象的!”) 公认的良好编程习惯(“每个人都知道您应该分开模型和视图”) 可维护性(“如果这样做,我们以后可以更轻松地进行XXX”) 当然还有其他可以证明的理由(在其他情况下)使用真实代码。 显然,愚蠢的理由将不被接受。 另外,您还必须“证明”您选择的语言(因此,如果您选择固有的冗长语言,则必须说明为什么它是“正确”的选择)。有趣的语言,如unlambda相似或INTERCAL是不能接受的(除非你可以给一个非常使用它们很好的理由)。 符合条件的条目的分数计算如下: 每条陈述1分(或您选择的语言所对应的任何陈述)。 对于函数,类型,变量等的每个定义,需要加1分(主函数除外,如适用)。 每个模块的use语句,文件include指令,命名空间using语句或类似名称为1点。 每个源文件1分。 每个必要的前向声明要加1分(如果您可以通过重新排列代码来摆脱它,则必须“证明”选择的排列为什么是“正确”的)。 每个控制结构1点(如果,同时,用于等) 请记住,您必须“调整”每一行。 如果所选语言足够不同,以致无法应用此方案(并且您可以为其使用提供很好的“证明”),请提出一种与您选择的语言最相似的评分方法。 要求参赛者计算其参赛分数并将其写在答案中。

13
最长的代码加上两个数字[关闭]
任务: 我知道我们都可以使用来简单地将两个数字相加+。您的任务是创建可以添加两个输入数字的最长代码。 规则: 所有代码都必须是主题(不要用非添加代码来填充长度) 该计数以字符为单位,但不计算制表符,空格或换行符。 不要使用多余的变量名 这是代码保龄球,所以最长的答案是成功的!

3
解决魔方
编写最短的程序,以在合理的时间范围内移动并解决Rubik的多维数据集(3 * 3 * 3)(例如,在您的计算机上最多5秒,而最多移动1000秒)。 输入的格式为: UF UR UB UL DF DR DB DL FR FL BR BL UFR URB UBL ULF DRF DFL DLB DBR (此特定输入表示已解决的多维数据集)。 前12个2个字符的字符串是UF,UR,... BL位置中的边(U =上,F =前,R =右,B =后,L =左,D =下),然后是下8个3个字符的字符串是UFR,URB,... DBR位置中的角。 输出应以这种格式给出一系列移动: D+ L2 U+ F+ D+ L+ D+ F+ U- F+ 其中D1或D +代表将D(下)面顺时针旋转90度,L2代表将L面旋转180度,U3或U-代表将U面逆时针旋转90度。 字母不区分大小写,空格是可选的。 …

5
相同代码不同字符
注意:此挑战仅允许使用已编译语言的答案 任务 您的任务非常简单,制作两个不同的程序,这些程序在编译时会产生相同的输出。 计分 这就是乐趣所在。您的分数将是一个程序中唯一字节的数量。例如,如果您的两个程序(在IBM Code页面437中编码)是 ☻☻Program A 和 ☺Program B 完全在一个程序中的字符是 ☻☺AB 因此,分数为4。请注意,该分数☻在第一个程序中出现两次,但仅被计数一次。 您的目标是获得最高分数,最高分数可能是256。 这是一个适用于ASCII编码程序的计分程序。 规定 两个程序中的每个字节都应该能够被一个不同的字节替换,从而导致该程序无法编译成不同的结果,或者无法一起编译。删除任何字节都应这样做。 您可以使用任何编译标志,只要两个程序都使用相同的标志运行即可。 如果结果因机器而异,则表明编译应该是静态的(即,每次运行都不应改变),表明所要运行的机器。 编译的输出应逐字节相同,而不是“等效”或“足够相似”。 编译的输出应为非空 编译之间的警告/错误不必相同 如果程序或编译中包含不可打印的字符,请确保包含十六进制转储。尽管这在技术上不是必需的。

30
对数字列表进行排序[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 3年前关闭。 关于代码保龄球: 在高尔夫中,您尝试获得最低的分数(最小的应用程序,最优雅的应用程序等)。在保龄球中,您尝试获得最高分。因此,如果您遵循此规则,那么进行代码保龄球挑战的目标是使最大,最混搭,最难维护的代码片段仍然能够满足挑战的要求。但是,仅出于此目的而延长源代码是没有意义的。看起来增加的长度似乎来自设计,而不仅仅是填充。 挑战: 创建一个程序,以升序对数字列表进行排序。 例: 输入: 1,4,7,2,5 输出: 1,2,4,5,7 代码:显然,这不是一个好答案,因为那里没有很多WTF。 function doSort(array $input) { sort($input); return $input; } 规则: 没有真正的规则。只要程序起作用,就可以了! 切记:这是保龄球,而不是高尔夫。目的是制作最糟糕,最混蛋的代码!看起来不错但实际上看似邪恶的代码的加分点...

3
用一个简单的GOTO编写程序
您的任务是构建一个可以使用最大的GOTO程序,而没有该程序,则必须完全重组整个程序(或至少很大一部分)。分数计为代码中没有GOTO进行结构重组时更改位置或新引入的语句的数量(删除语句不会添加到您的分数中)(允许其他人通过提供更多内容来挑战您的重组)优雅的一个)。因为这是代码保龄球,所以最高分获胜。 注意:通过尝试此挑战,我对迅猛龙袭击不承担任何责任。

8
圆顶硬礼帽高尔夫比赛
介绍 让我们从最低分母,然后最低分子的顺序开始,排列从0到1的所有分数: 1 / 2、1 / 3、2 / 3、1 / 4、3 / 4、1 / 5、2 / 5、3 / 5、4 / 5、1 / 6、5 / 6、1 / 7 ... 请注意,不计算重复项,因此我没有列出2 / 4、2 / 6、3 / 6或4/6,因为它们已经以简化形式出现(1 / 2、1 / 3和2)。 / 3)。 现在,您的任务很简单:给定正整数n作为命令行参数,n将列表中的小数打印到标准输出。因此,输入的结果5应为3/4(而不是 0.75)。 保龄球 您的目标是以尽可能长的程序解决此问题。您的分数是字符数。 高尔夫球手 您的目标是获取现有答案,然后打高尔夫。打高尔夫球时,请从代码中删除一个或多个字符,并有选择地重新排列其余字符,以使所得代码仍是相同语言的有效解决方案。您的分数是所有减少量的乘积。(因此,如果您从一个答案中删除10个字符,而从另一个答案中删除15个字符,则得分为150。) 规则 一个有效的程序必须至少包含三个唯一字符。 只能使用ASCII字符。 …

3
元保龄球高尔夫
您的任务是创建最短的程序(A),该程序输出另一个具有最大唯一字节的程序(B),然后又输出原始程序(A)。从本质上讲,您正在打高尔夫一对我们的羽绒带程序(又称定期重复奎因),而另一半则打保龄球。A和B可能使用不同的语言。 规则和计分 您的最终分数是<number of unique bytes in B> / <number of bytes in A>。最高分获胜。请注意,理论上的最高分数是256。 程序A必须至少一个字节长 程序B不能完全由无操作组成,即,至少一个字符必须以某种方式影响输出。 奎因标准规则适用于这两个程序。值得注意的是,在任何情况下都不允许使用错误提示。 为了保持答案格式的一致性,请从以下类似内容开始回答: # <Language for A> & <Language for B>, Score: <B score> / <A score> = <combined score>

4
计算实际数字
定义 正整数n是一个实际数字(OEIS序列A005153),前提是所有较小的正整数都可以表示为的不同除数之和n。 例如,18是一个实际数字:其除数为1、2、3、6、9和18,小于18的其他正整数可以形成如下: 4 = 1 + 3 5 = 2 + 3 7 = 1 + 6 8 = 2 + 6 10 = 1 + 9 11 = 2 + 9 12 = 3 + 9 = 1 + 2 + 9 = 1 + 2 + 3 …
18 code-golf  sequence  number-theory  code-golf  code-challenge  sorting  c  code-golf  restricted-source  code-golf  natural-language  code-golf  tree-traversal  file-system  popularity-contest  pi  polyglot  code-golf  game  sliding-puzzle  code-golf  game  minesweeper  code-challenge  ascii-art  code-challenge  popularity-contest  graphical-output  code-challenge  popularity-contest  hello-world  underhanded  obfuscation  code-golf  code-golf  function  code-golf  code-golf  code-golf  popularity-contest  rosetta-stone  code-golf  primes  code-golf  restricted-source  popularity-contest  number  sequence  code-golf  restricted-source  popularity-contest  graphical-output  code-golf  popularity-contest  code-golf  primes  code-golf  game  code-golf  math  popularity-contest  popularity-contest  code-generation  popularity-contest  code-bowling  code-golf  popularity-contest  underhanded  code-golf  metagolf 

11
你好世界扭曲
您的目标:编写一段代码,得到经典的结果:“ Hello,world!” 被打印到STDOUT或同等版本。 规则:代码必须完全以ASCII码打印。所有代码都必须可以使用-删除任何单个计数字符都必须更改结果或导致代码无法使用。分配后必须使用所有变量。字符和字符串文字必须是输出所必需的-也就是说,用另一个字符替换任何字符文字或字符串文字中的任何字符都必须能够更改结果(而不是通过转义序列的作用-用反斜杠替换字符)或同等学历) (注意:最终规则已编辑) 得分:这是有趣的地方。根据典型的代码保龄球规则,最高分数取决于字符数。但是重复使用字符会导致扣分。特别... 重复使用任何字母数字字符(az,AZ,0-9)将导致每次重复扣除3分(首次使用不会导致扣除)。 重复使用基本标点符号([!?.-,“:';])-包括方括号-将导致每次重复扣除2分。 重复使用其他ASCII字符{`〜@#$%^&* _ + = | \ /> <}-包括大括号-将导致每次重复减少4点。 重复使用空格,制表符和换行符将导致每次重复扣除1分。也就是说,只有第一次使用空格,制表符或换行符才会计入总计。 注意:尽管标记注释开始/结束的字符确实占注释的总和,但注释不会计入总数。例如,在C / C ++中,如果您有/* This is a comment */,则它将计算两个斜杠和两个星号,但它们之间没有任何区别。 一些示例(注意:使用Julia作为示例语言)... print("Hello, world!"); 可见字符总数:22 包含空格:+1 重复的字母数字:ll表示-12 重复的标点:-2表示“ 最终分数:22 + 1-12-2 = 9 print("Hel",char(108),"o, wor",0x108,"d!"); # 0x108 makes a Uint8 that prints as ASCII 总字符数:43(不包括#后的任何字符,它是注释字符) …

11
案例匹配查找替换
以三个输入,文本串T; 一串要替换的字符F;以及用替换它们的字符串R。对于每个T具有相同(不区分大小写)字符的子字符串F,请将其替换为中的字符R。但是,请保持与原始文本相同的大小写。 如果输入的字符R多于个F,则多余的字符应与输入的大小写相同R。如果其中包含数字或符号F,则其中的相应字符R应保持其大小写R。F不一定会出现在中T。 您可以假设所有文本都在可打印的ASCII范围内。 例子 "Text input", "text", "test" -> "Test input" "tHiS Is a PiEcE oF tExT", "is", "abcde" -> "tHaBcde Abcde a PiEcE oF tExT" "The birch canoe slid on the smooth planks", "o", " OH MY " -> "The birch can OH MY e slid OH MY …
14 code-golf  string  code-golf  string  ascii-art  alphabet  code-golf  number  sequence  counting  code-golf  sequence  counting  code-golf  quine  source-layout  code-golf  string  code-golf  decision-problem  game  code-golf  string  quine  source-layout  subsequence  code-golf  quine  code-golf  array-manipulation  integer  code-golf  ascii-art  code-golf  sequence  integer  code-golf  kolmogorov-complexity  code-golf  array-manipulation  integer  code-golf  number  array-manipulation  integer  code-golf  string  number  integer  code-golf  string  ascii-art  code-challenge  test-battery  expression-building  source-layout  printable-ascii  code-bowling  code-golf  number  code-golf  number  string  binary  code-golf  matrix  conversion  code-golf  number  arithmetic 

14
可重新排列的代码保龄球
保龄球挑战赛 无论您如何重新安排源代码,都编写一个程序或函数以产生相同的输出。(输出不能是错误) Pangram评分 您的分数就是源代码中唯一字符的数量。 带有源代码 的程序AJB得分为3A带有源代码 的程序AAJ得分为2A带有源代码的程序111得分为1 这是一个代码收集变体。得分最高的程序将获胜! (为方便起见,在此处创建了自动评分工具) 挑战规则 输入 程序/功能可以接受输入,但是这完全是可选的。 输出 此输出可以是您想要的任何内容,但应为非null,非null,非空和非错误。(因此输出必须至少为1个字节) 重新排列 无论源代码如何重新排列,输出都应该相同。例如: 程序:ABJ输出hello world,如同方案:[ AJB,JAB,JBA等] 这是一个代码收集变体。字符数最多的程序获胜!

1
通过整数操作实现IEEE 754 64位二进制浮点数
(我暂时将问题标记为“ C”,但是如果您知道另一种支持联合的语言,则也可以使用它。) 您的任务是+ - * /为以下结构构建四个标准数学运算符: union intfloat{ double f; uint8_t h[8]; uint16_t i[4]; uint32_t j[2]; uint64_t k; intfloat(double g){f = g;} intfloat(){k = 0;} } 这样操作本身就只能操纵或访问整数部分(因此也不能在操作过程中的任何时候都与double进行比较),并且结果是完全相同的(对于非数字结果,例如,功能上是等效的NaN)好像相应的数学运算已直接应用于double。 您可以选择要操作的整数部分,甚至可以在不同的运算符之间使用不同的整数部分。(尽管我不确定您是否要这样做,您也可以选择从联合中的任何字段中删除“未签名”。) 您的分数是四个运算符中每个字符的代码长度总和。最低分获胜。 对于不熟悉IEEE 754规范的我们来说,这是一篇有关Wikipedia的文章。 编辑: 03-06 08:47在intfloat结构中添加了构造函数。您可以使用它们进行测试,而不必手动设置double /etc。

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.