Questions tagged «radiation-hardening»

该标签用于挑战,要求对源代码进行随机编辑时答案仍然有效。


30
编写一个始终输出“ 2012”的程序-即使已修改!
这个想法不是我的,尽管我不知道它的起源。很久以前(1998年,如果我没记错的话),我曾经在一次编程竞赛中遇到过它。任务是用您喜欢的语言编写一个2012 仅 输出的程序2012。值得注意的是,程序的2012任何一个字符被修改后,仍然必须输出。修改可以是插入,删除或替换。当然,修改将使该程序在语法上仍然有效。 由于我不懂所有的编程语言,因此我必须请听众帮助我并测试提交的答案。 补充:许多人评论说我对可接受修改的定义太模糊。这是我的第二次尝试:允许的修改将使您的程序在语法上仍然有效,并且不会导致程序崩溃。在那里,我认为应该涵盖所有编译时,链接时和运行时错误。尽管我确信无论如何某种语言都会出现一些奇怪的情况,所以当出现这种情况时,我们将逐一进行研究。

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

27
越少越少
任何人都可以通过添加字符来使程序的输出变大,所以让我们做相反的事情。 使用您选择的语言满足以下条件,为REPL环境编写完整的程序,内部函数或代码段: 您的代码必须至少包含1个字符。 运行原始代码会生成x个字符输出到STDOUT(或最接近的替代字符),其中0≤x <+∞。 从原始代码中删除任何任意单个字符都会再次产生有效代码,该代码至少会产生x + 1个字符输出到STDOUT。 原始代码或修改都不会产生任何错误输出,无论输出到STDOUT,STDERR,syslog还是其他地方。该规则的唯一例外是编译器警告。 您的程序可能不需要任何标志或设置来抑制错误输出。 您的程序可能不会包含任何致命错误,即使它们不会产生任何输出。 原始代码和修改都必须是确定性的,并最终完成(没有无限循环)。 原始代码或修改都可能不需要任何形式的输入。 函数或代码段在两次执行之间可能不会保持任何状态。 考虑到该任务对于某些语言而言是微不足道的,而对于另一些语言而言则是彻头彻尾的,所以这是一场流行竞赛。 投票时,请考虑代码的“相对简短”,即与相同语言下的较长答案相比,较短的答案应被认为更具创造力。

7
容错Hello World(又名采访)
面试结束时,邪恶面试官告诉您:“我们让所有申请人进行简短的编码测试,以查看他们是否真的知道自己在说什么。不用担心;这很容易。如果您创建了一个工作程序,我会立即为您提供工作。” 他示意您坐在附近的计算机旁。“您要做的就是创建一个可正常运行的Hello World程序。但是,”-他大笑着说-“有一个陷阱。不幸的是,我们在这台计算机上拥有的唯一编译器存在一个小错误。它会从该计算机中随机删除一个字符。源代码文件,然后再编译。好的,五分钟后见!” 然后他走出房间,开心地吹口哨。 您能保证得到这份工作吗? 任务 编写一个程序,Hello, world!即使从文件中的任何位置删除了单个字符,也可以打印到标准输出。或者尽可能接近这个。 规则 没有多余的输出 - Hello, world!必须是打印到标准输出的唯一实质性内容。如果其他字符是由您选择的语言自然产生的,则可以包含其他字符,例如尾随换行符,甚至类似的字符[1] "Hello, world!"(例如,如果您使用的是R),但每次都必须打印完全相同的字符。 它不能打印Hello, world!Hello, world!或Hello world!" && x==1在某些时候,例如。但是,允许警告。 测试为了测试以确定您的分数,您必须测试程序的每个可能排列:在删除每个字符的情况下对其进行测试,并查看其是否产生正确的输出。为此,我在下面提供了一个简单的Perl程序,该程序应适用于多种语言。如果它对您不起作用,请创建一个测试程序并将其包含在您的答案中。 计分您的分数是程序失败的次数。换句话说,文件中删除字符的各个位置数量使程序无法运行。最低分获胜。如果出现平局,则以最短的代码为准。 诸如"Hello, world!"多种语言(15种分数)之类的简单解决方案是可以接受的,但它们不会赢。我至少找到了一个Perl解决方案,其得分为4,我将最终发布它。 更新: 官方优胜者将使用图灵完备的编程语言,并且不会使用任何预定义的打印机制Hello, world!。所使用的任何外部资源(语言的标准库除外)都被视为程序的一部分,并且会被相同的1个字符删除。 这些要求贴在桌子上的便签纸上。抱歉,如果您最初没有看到它们。 更新2:是的,您的程序必须实际完成上述任务才能获得分数!意味着它应该Hello, world!至少成功打印一次。这应该是显而易见的。命令行开关和其他添加功能的设置也算作程序的一部分,并且必须删除单个字符。该程序必须在没有任何用户输入的情况下完成其任务。编译失败包括在您的失败计数中。 祝您编程愉快,并祝您工作顺利。但是,如果您失败了,您可能还是不想为那个邪恶的老板工作。 Perl测试脚本: use warnings; use strict; my $program = 'test.pl'; my $temp_file = 'corrupt.pl'; my $command = "perl -X …

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 

3
防辐射奎因
正如您应该(希望)知道的那样,防辐射的奎因是一种奎因,您可以从其中删除任何一个字符,但仍打印其原始的,预先修改的源。事实是,使用其中大多数,您只能删除一个字符。否则一切都会崩溃。这就是它的来历;您的目标是构建一个可以进行尽可能多的字符去除的防辐射的奎因。符合规则的任何语言都可以。 规则 该程序必须至少一个字符长 使用的语言必须是完整的(因此HQ9 +等语言不符合条件) 适用于普通拉皮的所有其他规则也适用于此。 用最少的溶液program_length^(2/n),其中的任何一组的准确n的字符,同时仍打印原始源代码胜被移除。

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

7
我们忘记了什么?
您的任务是编写一个由一些字节序列组成的非空计算机程序。如果我们在程序中选择一个特定的字节并将其所有实例从程序中删除,则修改后的程序应输出删除的字节。 例如,如果我们的程序是 aabacba 然后bcb将输出a,aaaca将需要输出b并且aababa将输出c。 未经修改的程序做什么无关紧要。 答案将以字节计分,目标是最大程度地减少字节数。

13
盖革计数器
盖革计数器是一种用于检测辐射的设备。 我们将制作盖革计数器程序。 众所周知,当辐射撞击计算机程序时,它会随机删除1个字节。因此,Geiger计数器程序是一个本身不执行任何操作的程序,但是当删除任何字节时,修改后的程序将打印beep,以指示存在辐射。 答案将以字节计分,而字节数越少越好。答案必须至少为1个字节。 您的程序可以打印beep尾随换行符,也可以为空输出打印单个换行符,只要它始终如一。你的程序也可以使用不同的情况下beep,例如BEEP,bEEP或者Beep只要它这样做一致。

6
辐射探测器!
防辐射程序是一种程序,其中如果删除了代码中的任何字符,该程序仍将起作用。对于这个问题,我们将编写一个程序来检测何时被照射。 编写一个程序或函数,当删除任何单个字节时,结果程序将输出该字节,并且仅输出该字节。(您可以多次输出该字节,只要不输出其他字节) 规则: 该程序必须包含至少2个不同的字节。(没有仅0的解决方案;) 原始程序做什么都没关系 无需阅读自己的源代码。 该代码将以最大字节数获胜的不同字节数计分。例如,abc= 3分,ababba= 2分,abc获胜。 决胜局是较小的字节数,其后是较早的提交时间 祝好运!

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

15
跟着我重复!
给定一个字符串作为参数,输出最长的不重叠重复子字符串的长度;如果没有这样的字符串,则输出零。 您可以假设输入字符串不为空。 例子 abcdefabc:子字符串abc在位置1和7处重复,因此程序应输出3 abcabcabcabcab:abcabc或bcabcaor cabcab重复,因此程序应输出6。(子字符串abcabcabcab也被重复,但是出现的部分重叠,因此我们不接受它)。 aaaaaaa:aaa例如在位置1和4处重复,因此程序应输出3 abcda:a重复,因此程序应输出1 xyz:没有重复的字符串→ 0 ababcabcabcabcab:应返回6 这是代码高尔夫球,因此最少的字节获胜。
23 code-golf  string  code-golf  code-golf  kolmogorov-complexity  primes  code-golf  kolmogorov-complexity  hexadecimal  code-golf  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 

24
ogl-edocf挑战
输入项 一个非空的字符串,由范围内的ASCII字符组成。[ 32..126 ][32..126][32..126] 输出量 通过对输入字符串进行连续旋转来获得输出。 对于[a-zA-Z]输入字符串中的每个字母(),从左到右: 如果字母是大写字母,请将其前面的所有字符向左旋转一个位置 如果字母是小写字母,请将其前面的所有字符向右旋转一个位置 例 输入:“ Cb-Ad” 第一个字母是“ C ”。我们应该向左旋转,但是这个“ C ” 之前没有字符。因此,没有任何旋转。 下一个字母是“ b ”。我们向右旋转“ C ”。因为它是单个字符,所以它保持不变。 字符“ - ”不会触发任何旋转,因为它不是字母。 下一个字母是“ A ”。我们轮流“ CB- ”到左边,这给“ 公元前广告” 第四个也是最后一个字母是“ d ”。我们向右旋转“ b-CA ”,即为“ Ab-C d” 因此,预期输出为“ Ab-Cd ”。 规则 您可以将输入作为字符串或字符数组进行输入-根据您的语言,输入内容可能相同也可能不同。 您也可以输出字符数组而不是字符串。 这是ogl-edocf 代码高尔夫 测试用例 "cbad" -> …
22 code-golf  string  code-golf  string  code-golf  string  parsing  brainfuck  code-challenge  python  hello-world  error-message  code-golf  string  code-golf  number  integer  counting  subsequence  code-golf  string  cipher  code-golf  array-manipulation  arithmetic  integer  matrix  code-golf  math  sequence  code-golf  restricted-source  pi  popularity-contest  cops-and-robbers  polyglot  popularity-contest  cops-and-robbers  polyglot  code-golf  file-system  king-of-the-hill  code-golf  number  sequence  integer  rational-numbers  string  code-challenge  source-layout  code-golf  ascii-art  king-of-the-hill  code-golf  array-manipulation  sorting  code-golf  string  code-golf  restricted-source  source-layout  tips  math  code-challenge  permutations  logic-gates  code-golf  number  random  integer  code-golf  math  code-golf  math  number  decision-problem  king-of-the-hill  python  board-game  code-challenge  brainfuck  busy-beaver  code-golf  number  cops-and-robbers  polyglot  obfuscation  answer-chaining  code-golf  number  integer  conversion  code-golf  string  parsing  code-golf  ascii-art  number  king-of-the-hill  javascript  code-golf  source-layout  radiation-hardening  code-golf  array-manipulation  matrix  code-golf  string  graph-theory  code-golf  array-manipulation  decision-problem  code-golf  string  ascii-art  code-golf  string  code-golf  array-manipulation 

27
为*写翻译
任务很简单。为*语言编写口译员。 这是Wiki的更大链接。 只有三个有效的*程序: * 打印“ Hello World” * 打印0到2,147,483,647之间的随机数 *+* 永远运行。 根据此问题的规范,第三种情况必须是无限循环 输入: 可以通过我们的标准I / O规则通过任何可接受的输入方法进行输入 它将永远是以上程序之一 输出: 第一种情况应打印准确Hello World,带有或不带有尾行。 对于第二种情况,如果您的语言的整数最大值小于2,147,483,647,请使用您的语言的整数最大值 根据我们的标准I / O规则,第一种情况和第二种情况可以打印到任何可接受的输出。 第三种情况不应给出任何输出。 得分: 因为这是代码高尔夫球,所以最短的答案(以字节为单位)获胜。
20 code-golf  interpreter  code-golf  array-manipulation  sorting  code-golf  halting-problem  code-golf  javascript  code-golf  algorithm  code-golf  arithmetic  code-golf  math  counting  code-golf  math  code-golf  decision-problem  radiation-hardening  code-golf  conversion  bitwise  code-golf  number  decision-problem  code-golf  string  decision-problem  code-golf  random  game  code-golf  ascii-art  graphical-output  code-golf  decision-problem  binary-tree  tree-traversal  code-challenge  array-manipulation  code-challenge  graphical-output  path-finding  test-battery  algorithm  code-golf  integer  factorial  code-golf  binary-tree  code-golf  grid  graph-theory  code-golf  regular-expression  quine  code-golf  encoding  code-golf  king-of-the-hill  javascript 

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.