Questions tagged «restricted-source»

对用于解决挑战的源代码施加了限制,例如,源代码中没有数字。

30
不使用它就打印每个可打印的ASCII字符
用您选择的编程语言编写95个程序,每个程序输出95个可打印ASCII字符中的 一个,而该字符不会出现在程序中的任何位置。 例如,如果您的语言是Python,则输出字符的程序P可能是 print(chr(80)) 因为它P具有ASCII代码80。此程序有效,因为它P从未出现在源代码中。但是,对于输出小写字母的程序,p类似 print(chr(112)) 将是无效的,因为虽然它确实打印了p,但p仍存在于代码中。一个有效的程序可能是 exec(chr(112)+'rint(chr(112))') 可以打印p但不包含p。 您的目标是使95个程序中的每一个都尽可能短。您的分数是所有程序的字符长度之和。 如果由于某种原因您无法为某些字符编写有效的程序,则可以将这些字符标记为“ Did Not Program”或DNP,并完全省略它们的程序。这样,语法严格的语言就可以竞争。 获奖的答案是,有得分最低的答案中的一组拥有最少的DNP的答案。 规则 您所有程序的源代码只能包含可打印的ASCII加上制表符和换行符,所有这些都被视为一个字符。(由于采用了不同的编码,因此很容易省略不存在的字符!) 注意:此规则似乎是必需的,但是有许多语言使用不同的编码,我敢肯定看到它们的答案会很酷。因此,您可以打破这条规则,可以使用任何想要的字符,但是您的答案将变得不具有竞争力,因此无法取胜。 根据您语言的标准约定,程序必须是实际的完整程序。不允许使用功能和REPL代码段。 每个程序的输出应转到stdout或您的语言可接受的替代方案。 程序不应提示或要求输入。(如果提示输入是您的语言固有的,那么可以。) 程序应具有确定性,运行时有限且独立。例如,一个文件是否在与其他程序分开的文件夹中运行没关系。 程序的输出应该是与之对应的可精确打印的ASCII字符,可以选择在其后跟一个单行换行符,仅此而已。 确保在答案中包括所有95个(理想)程序的信息,以及分数和任何DNP。你不必列出所有遵循像一个简单的模式程序“ ,...”但要确保你确信他们都将工作,你的分数是正确添加。print(chr(80))print(chr(81))print(chr(82)) 作为参考,以下是程序必须输出的95个可打印ASCII: !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~

20
退出代码高尔夫
受到IO默认设置的启发。 任务 编写一个程序,如果输入整数x在0到255之间,则退出代码将导致崩溃x。 限制条件 您不得调用直接用于退出代码输出的任何内容(System.exit(x),从main等返回)。而是,您的程序必须导致错误或崩溃,以1的概率导致程序以输入整数退出。 在这种情况下,“错误”和“崩溃”一词表示程序导致了一些致命的意外异常,其中错误地使用了方法,操作或其他方式导致了不可逆的故障。 您可能不会直接抛出错误而直接导致错误。您必须使用方法,函数或其他用途来实现此目的,而该方法,函数或目的是提供不同功能的函数(例如,尝试执行对只读目录的文件写入操作)。 您的程序中必须至少有两个退出代码。 禁止使用信号终止过程。(可以在此讨论中找到理由) 计分 程序的分数取决于所支持的退出代码的数量,其中代码简洁性是决胜局。支持的退出代码数量最多!

15
用不打孔的方法写出整个孔
十进制代码33至126 的ASCII字符为: !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ 请注意,在大多数字体中,这些字符中的25个在其中带有“孔” :(您可能会说大于0的属) #$%&04689@ABDOPQRabdegopq 其他68个“空洞的”字符是: !"'()*+,-./12357:;<=>?CEFGHIJKLMNSTUVWXYZ[\]^_`cfhijklmnrstuvwxyz{|}~ 您的任务是编写仅使用不打孔的字符的最短程序,该字符将以任何顺序将每个带孔字符精确输出一次。 由于空格,制表符和换行符(换行和/或回车符)为空白,因此它们可能会出现在程序或其输出中。它们仍然计入字符数。可能不使用其他ASCII字符(当然也不能使用非ASCII字符)。 笔记 您不必使用所有无用的字符,也不必只使用每个。 输出中不得包含无用字符。 该空白语言也可以使用。 输出应转到stdout或可以转到文件。应该没有输入。 奖励:只是为了好玩,尝试使用带孔的字符打印所有不打孔的字符。我怀疑是否可以使用现有语言来完成。

24
重要空白
我们将空格定义为三个字符中的任何一个,即制表符(0x09),换行符(0x0A)或空格(0x20)。 为了应对这一挑战,您将使用相同的编程语言编写两个程序或函数,它们将执行以下任务: 计算给定字符串中的空白字符。例如,输入 123 -_- abc def 将返回7(假设没有结尾的换行符)。 在连续的空白处分割给定的字符串。如果字符串以空格开头或结尾,则结尾处不应返回任何空字符串。例如,相同的输入 123 -_- abc def 会回来的["123", "-_-", "abc", "def"]。 无论哪种情况,您都可以通过STDIN,命令行参数或函数参数接受输入,然后返回结果或将其打印为STDOUT。对于第二个程序,如果选择打印到STDOUT,请在每个字符串的一行上打印它们,不要用引号引起来。 对于这两个程序,您都可以假定输入仅包含可打印的ASCII(0x20至0x7E)和空格。 现在是要抓住的地方: 如果从两个程序/功能中都删除了所有空格,则产生的字符串必须相同。也就是说,您的两个提交内容只能在空格字符的数量和位置上有所不同。 程序/函数均不能包含任何字符串或正则表达式文字(如果您的语言具有指定的字符类型,则文字文字可以使用)。 程序/功能均不得包含任何注释。 您不得直接或间接阅读程序的源代码。 这是代码高尔夫。您的分数是两种解决方案的总和(以字节为单位)。最低分获胜。 排行榜 以下Stack Snippet会按语言生成常规排行榜和获胜者概述。因此,即使您选择的语言不能让您赢得全部挑战,为什么不尝试在第二名中夺取一席之地呢?我很高兴看到人们如何以多种语言应对这一挑战! 为确保您的答案显示出来,请使用以下Markdown模板以标题开头。 # Language Name, N bytes 这里N是总您提交的大小。如果您提高了分数,则可以通过打败旧分数来保持标题。例如: # Ruby, <s>104</s> <s>101</s> 96 bytes 您也可以在总计数之前包括单个计数,例如 # Python 2, 35 + 41 = 76 …

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,因此,只要得分最高的人(如果可以达到的话)将被标记为接受的答案,但是其他人则可以继续保持乐趣)

7
胶带可以修复母亲节
基于Duct磁带,可以解决任何问题,这些问题过于广泛,使用非常相似的规则。仅这次,目标非常明确: 挑战 您的任务是制作一个可以显示的程序hello mom-无需编写任何代码。 在StackOverflow的问题和答案中,您只能使用已经为您编写的代码。您所能做的就是用胶带尽力而为。当然,我们必须提供适当的归属,以免权利被终止,这一点非常重要。 规则 您必须包含指向您在答案中使用的问题/答案的链接。 您不能修改找到的代码,但以下情况除外: 一种。您可以重命名变量,函数和方法。(这并不意味着你可以改变一个方法调用,通过改变,说scanner.nextInt()要scanner.nextLine()和声称您更改的方法名。改变必须在定义或引用同一实体)。如果将变量,函数或方法再次重命名,则该解决方案仍然可以使用,因此重命名要包含hello mom为变量名的代码不起作用。 b。您可以适当地调整缩进。 C。您可以假定已加载适当的模块以使代码段正常工作。(例如,import用于Java和Python的using语句,用于C#和C ++的语句以及所有语言的等效项)如果代码段中包含imports,则可以将其移至代码顶部。 d。如果语言要求代码在某种方法体内执行(例如,public static void main(String[] args)对于Java,static int Main(string[] args)对于C#等),则可以将代码包装在适当的方法中。但是该主要方法的内容必须保持不变。 您必须提供所执行的任何变量/方法/函数/类重命名的明确列表。 您不能接受片段摘要(这意味着,如果您从帖子中获取代码块,则整个过程都将完成) 为不熟悉您所用语言的人提供代码的简要说明。 您必须使用此挑战开始之前发布的摘要。 人气比赛,所以最投票获胜! 最后期限 我将接受在母亲节结束时(UTC-11时区的午夜)获得最多投票的意见书,但以后的意见书仍然可以投票。

30
输出您的分数!
挑战: 这个概念很简单:编写一个完整的程序以输出其自己的代码高尔夫球得分! 输出应仅是程序的字节数和结尾 bytes。 但请等待 ...有一个限制: 您的源代码不能包含字节数中的任何数字 因此,如果您的分数是186 bytes,则您的程序不能包含,或字符1。68 示例输出: 315 bytes 27 Bytes 49 BYTES 附加规则: 源代码中禁止使用不必要的字符,空格和换行符,但是在输出中完全可以接受结尾的空格和换行符 数字和bytes输出之间应该有一个空格 字母不区分大小写 无需自我检查或阅读源代码 不允许出现标准漏洞 这是代码高尔夫,所以 以字节为单位的最短代码胜出!

30
追加字符串长度
挑战: 给定s字符a- z,A- Z,0- 上的字符串9,将其长度附加s到其自身,将长度中的其他字符计为的总长度s。 输入: 只是任意长度的字符串(可以为空)。 输出: 相同的字符串,但其长度附加到末尾。代表长度的字符也应算作长度的一部分。如果要附加多个有效长度,请选择最小的长度(有关示例,请参见测试用例)。 测试用例: INPUT -> OUTPUT // Comment aaa -> aaa4 -> 1 // Empty string aaaaaaaa -> aaaaaaaa9 // aaaaaaaa10 would also normally be valid, but violates using the smallest number rule mentioned above aaaaaaaaa -> aaaaaaaaa11 a1 -> a13 // Input …
51 code-golf  string  code-golf  string  random  code-golf  array-manipulation  code-golf  ascii-art  kolmogorov-complexity  random  code-golf  array-manipulation  code-golf  stateful  code-golf  hello-world  code-golf  string  code-golf  interpreter  lisp  code-golf  restricted-source  quine  palindrome  code-golf  ascii-art  random  generation  challenge-writing  ascii-art  random  polyglot  maze  answer-chaining  string  cops-and-robbers  whitespace  code-golf  string  cops-and-robbers  whitespace  code-golf  number  sequence  code-golf  date  code-golf  ascii-art  decision-problem  code-golf  combinatorics  chemistry  code-golf  kolmogorov-complexity  source-layout  radiation-hardening  code-golf  ascii-art  path-finding  maze  code-golf  string  ascii-art  game  animation  code-golf  string  ascii-art  code-golf  ascii-art  kolmogorov-complexity  code-golf  restricted-source  new-years 

30
打印所有ASCII字母数字字符而不使用它们
挑战 打印以下字符: abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890 要注意的是,您不得在代码中使用其中任何一个。 您可以按任意顺序打印它们,带有或不带有开头或结尾的换行符,但不能打印任何其他字符。 规则 您不得使用上述集合中的任何字符 您可以使用其他任何字符 别作弊 禁止标准漏洞 这是代码高尔夫球,最短答案胜出。 澄清说明 如果您的语言使用其他字符集,则不得在该字符集中使用与字母数字字符相对应的代码点。 从函数返回字符串被认为是有效的输出形式。 您可以返回一个char数组。


30
是的,长91行
yes,来自coreutils,长91行。他们中许多人的意见,但仍然WAY太长。 从2019年9月开始编辑:源文件在过去五年中增长了,现在长126行。 编写一个模仿的程序yes: 输出到stdout“ y \ n”的无限流 必须有一个选项来阻止它除了具有杀死进程SIGKILL:但SIGINT和SIGPIPE都很好 您不得使用“ y”或“ \ n”或其ASCII值(121、0x79、0171、10、0xA或012) 最短答案胜出。 奖金: 如果可以接收到一个短语stdin并打印出来而不是“ y”(但仍包括换行符),则从代码长度中减去10 。

30
模糊的FizzBu​​zz高尔夫[关闭]
创建最短的模糊FizzBu​​zz实现。 要被视为混淆,它应至少满足以下条件之一: 不包含任何单词“ Fizz”,“ Buzz”或“ FizzBu​​zz” 不包含数字3、5或15。 以一种误导的方式使用上述任何一种。 切记:目标是简短且难以遵循。 激发这个问题的代码示例如下: public class Default { enum FizzBuzz { Buzz = 1, Fizz, FizzBuzz } public static void Main(string[] args) { byte[] foo = Convert.FromBase64String("IAmGMEiCIQySYAiDJBjCIAmGMEiCIQySYA=="); MemoryStream ms = new MemoryStream(foo); byte[] myByte = new byte[1]; do { FizzBuzz fb; ms.Read(myByte, 0, 1); …

30
它是领先还是跟随?
在此挑战中,您将编写一个程序或函数,该程序或函数将字符串作为输入并输出两个可能值之一。我们将这些价值之一称为真实,将其称为虚假。他们实际上并不需要诚实或虚假。为了使答案有效,它必须满足四个附加条件 当您将程序传递给自身时,它将输出真实值。 如果将程序作为输入传递给任何较旧的答案,则应输出(传递给的程序的)真实输出。 如果将任何较旧的答案作为输入传递给它,则应输出(程序的)虚假输出。 在挑战的所有答案(包括您的新答案)中,必须有无限数量的字符串评估为真实输出。 这样做会慢慢建立一个答案链,每个答案都可以确定该链中的其他程序是在其之前还是之后。 这项挑战的目的是要建立一系列源限制,这些源限制将应用于后续答案,从而使每个答案都比上一个更具挑战性。 例 一条链(用Haskell编写)可以开始: f _ = True 由于没有较旧的程序,因此条件不适用于该答案,它仅需要输出两个可能值之一,在这种情况下,它始终输出True。 以下可能是答案: f x=or$zipWith(==)x$tail x 在线尝试! 它断言字符串中某处连续两次出现一个字符。第一个答案没有此属性,而第二个答案则具有(==)。因此,这是一个有效的下一个答案。 特殊规定 您可以随意使用任意一种语言(具有免费的实现)。 如果您是最后一个回答的人,则必须等待至少7天才能发布新答案。 您的程序可能无法读取其自身的源代码。 由于第四规则很难验证是否涉及密码功能,因此不允许使用此类功能。 评分标准 每次添加答案时,您得到的分数与其在链中的位置一样多。例如,第5个答案将使作家获得5分。目标是获得尽可能多的积分。最后一个答案的答题者得分为-∞分。如果您尝试最大化自己的得分而不是“赢得”挑战,这可能会更有趣。我不会接受答案。 由于这是答案链,因此您可能要按最旧的排序

30
去palindromize此字符串!
给定根据此挑战生成的回文,请对其进行去盲化。 测试用例 abcdedcba -> abcde johncenanecnhoj -> johncena ppapapp -> ppap codegolflogedoc -> codegolf 因为这是关于去palindromating的,所以您的代码不能是回文。 请记住,这是code-golf,所以字节最少的代码将获胜。

30
将数字除以3,而不使用*,/,+,-,%运算符
在SO上引用此问题(扰流板警报!): 在Oracle采访中已经问过这个问题。 如何在不使用*,/,+,-,%操作符的情况下将数字除以3? 该数字可以签名也可以不签名。 该任务是可解决的,但是请查看是否可以编写最短的代码。 规则: 执行所需的整数除法(/3) 不要使用非基于文本运营商*,/,+,-,或%(或它们的等价物,如__div__或add())。这也适用于递增或递减运算符,例如i++或i--。可以使用运算符进行字符串连接和格式化。也可以将这些字符用于不同的运算符,例如-用于负数的一元运算符,或*在C中表示指针。 输入值可以为正值和负值任意大(系统可以处理的任何值) 输入可以在STDIN或ARGV上,也可以任何其他方式输入 创建最短的代码即可完成以上操作

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.