8
脆弱的奎因
脆弱的奎因 脆弱的quine是满足通过删除单个字符来组成每个子字符串的属性的quine,在评估时会产生错误。 例如。如果您的程序asdf是木盒,那么它就很脆弱,以下程序必须出错: sdf adf asf asd 您的程序(及其所有子字符串)必须是完全确定性的,并且必须使用相同的语言。就此挑战而言,即使最终未产生错误,陷入无限循环(即无法终止)的程序也被视为“产生错误”。 存在标准漏洞,包括通常的quine限制(例如,无法读取自己的源代码)。 例如,print("foo")不是脆弱的。所有这些子字符串必须出错: rint("foo") pint("foo") prnt("foo") prit("foo") prin("foo") print"foo") print(foo") print("oo") print("fo") print("fo") print("foo) print("foo" 不会出错的是: print("oo") print("fo") print("fo") 因此它并不脆弱。 关于藜的重要说明 通过协商一致,任何可能的奎纳必须满足以下条件: 必须有可能识别程序的一部分,该部分对程序的不同部分进行编码。(“不同”表示两个部分出现在不同的位置。) 此外,木盒不得直接或间接访问其自身的源。 例 由于我认为JavaScript的function#toString是“正在读取其自身的源代码”,因此我不允许这样做。但是,如果我不想禁止它,那么这是JavaScript中的一个脆弱的方法: f=(n=b=`f=${f}`)=>(a=(n)==`f=${f}`,n=0,a)&(n!=b)?b:q 测试仪 这是一个程序,在给定程序源代码的情况下,它会生成所有必须出错的程序。 let f = (s) => [...Array(s.length).keys()].map(i => s.slice(0, i) + s.slice(i + 1)).join("\n"); let …
30
code-golf
quine
code-golf
date
code-golf
sequence
code-golf
sorting
file-system
code-golf
code-golf
ascii-art
hexagonal-grid
code-golf
string
arithmetic
code-golf
code-golf
code-challenge
source-layout
code-golf
ascii-art
cellular-automata
code-golf
string
arithmetic
balanced-string
code-golf
number
primes
code-golf
ascii-art
hexagonal-grid
code-golf
string
code-golf
string
code-golf
sequence
code-golf
ascii-art
code-golf
conversion
hexadecimal
code-challenge
restricted-source
code-golf
math
grid
code-golf
string
ascii-art
code-golf
random
minesweeper
code-golf
ascii-art
kolmogorov-complexity
board-game
scrabble
code-golf
ascii-art
code-golf
math
number-theory
decision-problem
code-golf
string
code-golf
natural-language
code-golf
internet
stack-exchange-api
code-golf
code-golf
conversion
code-golf
string
code-golf
math
arithmetic
code-golf
string
whitespace
code-golf
graphical-output
internet
code-golf
string
code-golf
string
random
permutations
code-golf
string
code-golf
string