Questions tagged «restricted-source»

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

29
它是前缀代码吗?
在信息论中,“前缀代码”是一个字典,其中所有键都不是另一个的前缀。换句话说,这意味着没有一个字符串以其他任何字符串开头。 例如,{"9", "55"}是前缀代码,但{"5", "9", "55"}不是。 这样做的最大优点是,可以将编码的文本记下来,并且它们之间没有分隔符,并且仍然可以唯一地解密。这在诸如Huffman编码之类的压缩算法中得到了体现,该算法始终会生成最佳的前缀代码。 您的任务很简单:给定一个字符串列表,确定它是否是有效的前缀代码。 您的输入: 将是任何合理格式的字符串列表。 仅包含可打印的ASCII字符串。 将不包含任何空字符串。 您的输出将是一个true / falsey值:如果是有效的前缀代码,则为True,否则为falsey。 这是一些真实的测试用例: ["Hello", "World"] ["Code", "Golf", "Is", "Cool"] ["1", "2", "3", "4", "5"] ["This", "test", "case", "is", "true"] ["111", "010", "000", "1101", "1010", "1000", "0111", "0010", "1011", "0110", "11001", "00110", "10011", "11000", "00111", "10010"] 以下是一些错误的测试案例: ["4", "42"] …

4
拆分ASCII
给定ASCII加换行符的95个可打印字符,将其分成两个相等的48个字符组(以下称为A组和B组)。在两组之间创建您选择的一对一映射(您可以自行决定)。换句话说,如果这是程序所需要的,则A可能映射到a,反之亦然,但A也可能映射到>,反之亦然。 将ASCII分成两组后,分别使用每个组中的字符编写两个程序和/或函数。换句话说,编写一个仅使用组A中字符的程序/函数,编写另一个仅使用组B中字符的程序/函数。 这些程序必须能够接收一个字符作为输入。如果输入是A组字符,则用A组中的字符编写的程序应输出/返回相同的字符;如果输入是B组字符,则映射的A组字符应输出/返回相同的字符。组A程序应始终输出组A字符。同样,如果B组程序是B组字符,则应输出相同的字符;如果输入是A组字符,则应映射所映射的B组字符。 可能还不清楚,所以这里有个例子。如果假设所有大写字母都在A组中,所有小写字母都在B组中,并且已选择这些字母的一对一映射是从一个到另一个,则:那么这里有一些样本输入/输出: 程序A: Input Output A A D D a A q Q 程式B: Input Output A a D d a a q q 其他规则: 这两个程序不需要使用相同的语言。 它们不必同时是程序或函数。一个可以是程序,另一个可以是功能,没关系。 他们不需要以相同的方式工作,具有相似的长度,诸如此类。他们必须完全符合上述其他规则。 是的,您的程序中只有一个可以使用换行符,并且只有一个可以使用空格(可以是相同的程序,也可以是不同的程序)。 您不需要在每个程序中全部使用48个字符。 正常情况下,禁止出现标准漏洞。所有程序都必须是自包含的,没有文件包含您选择的映射。 评分标准:高尔夫代码。具体来说,两个程序的文本字节总和。 请像这样发布您的答案: 语言-#字节+语言-#字节=#字节 对您的映射的明确描述。如果很复杂,请使用如下图表: ABCDEFGHIJKLMNOPQRSTUVWXYZ (etc.) zyxwvutsrpqonmlkjihgfedcba (etc.) 或者,您也可以解释一下(前48个映射到后48个顺序),然​​后按常规回答。

5
左手与右手-打字员挑战
您的任务是使键盘的每一侧相互靠拢,并以相同的语言构建两个程序,一个程序仅使用输出的标准键盘左侧的键,另一个程序使用输出Pollinium milk; plump pumpkin; lollipop?的右侧键盘的键。Weatherheaded sweetheart haberdasheress!。 规则 左侧程序所允许的确切键为: 123456!@#$%^QWERTYqwertyasdfghASDFGH`zxcvb~ZXCVB 对于右侧程序: 7890-=&*()_+uiop[]UIOP{}jkl;'\JKL:"|nm,./NM<>? 有四个可用的键Esc(\x1b),Tab(\x09),Space(\x20)和Enter(\x0a和/或\x0d),它们都不能用于两种解决方案,也可以两种都不能使用。 您的分数将是两个程序的总字节数。虽然我使用了术语program,但是您的提交可以是完整程序,也可以是正常功能,并且两者可以是不同的类型(例如,一个完整程序和一个功能)。 您的结果必须包含所需的文本,只要在其中包含确切的文本,任何大小的前导和尾随空格都是可以的。 禁止出现标准漏洞。 每种语言中最短的解决方案将获胜。

3
OOP:面向对象的编程
似乎不太适合代码打高尔夫球的鲜为人知的编程范例之一是面向重叠编程(OOP) *。当编写部分相同的代码时,只需将相同的部分重叠并以某种方式记住两条原始代码行的开头,就可以节省许多字节。您的任务是编写两个重叠的程序或函数compress,decompress并遵循以下规范: *请不要在生产代码中使用。 compress compress以任何方便的格式获取两个字符串,并尽可能地将它们重叠。即s返回的字符串的长度最小,这样两个输入字符串都是的子字符串s。此外,返回一些标识两个字符串的开始和结束索引的输出。 示例:(具体的IO格式由您决定) compress("abcd", "deab") -> "deabcd" ((2,5),(0,3)) compress("abcd", "bc") -> "abcd" ((0,3),(1,2)) compress("abc", "def") -> "abcdef" ((0,2),(3,5)) or "defabc" ((3,5),(0,2)) decompress decompress计算的反函数compress,给定一个字符串和两个开始和结束索引(以您的返回格式compress),返回两个原始字符串。您只需要处理有效的输入。以下等式适用于所有字符串s1,s2: (s1, s2) == decompress (compress (s1, s2)) 示例:(compress示例的反向) decompress "deabcd" ((2,5),(0,3)) -> "abcd" "deab" decompress "abcd" ((0,3),(1,2)) -> "abcd" "bc" decompress "abcdef" ((0,2),(3,5)) -> …

6
评分Tarzan的奥林匹克葡萄摇摆常规
奥运会的葡萄树摆动者在标准的树上执行常规活动。特别是,“标准树” n具有0向上穿过的顶点n-1以及将每个非零顶点连接a到其n % a下面的顶点的边。因此,例如,标准树5如下所示: 3 | 2 4 \ / 1 | 0 因为5除以3时的余数为2,所以5除以2或4时的余数为1,而5除以1时的余数为0。 今年,泰山将捍卫他的金新套路,每个始于顶点n - 1,秋千到顶点n - 2,继续顶点n - 3,等等,直到最后他卸除到顶点0。 例行程序的分数是每个挥杆(包括拆卸)的分数之和,挥杆的分数是树内起点和终点之间的距离。因此,Tarzan在标准树5上的例程得分为6: 从摇摆4到3得分3分(向下,向上,向上), 从摇摆3到2得分(下降)一分, 从摆动2到1得分1分(向下),并且 从下来1,0得分为1分(下降)。 编写一个程序或函数,给定一个正整数n,该程序或函数将计算Tarzan例程在Standard Tree上的得分n。样本输入和输出: 1 -> 0 2 -> 1 3 -> 2 4 -> 6 5 -> 6 6 -> 12 7 -> 12 8 …
32 code-golf  math  number  number-theory  code-golf  code-golf  restricted-source  programming-puzzle  css  code-golf  parsing  code-golf  random  encryption  code-golf  ascii-art  fractal  code-golf  math  code-golf  sorting  graph-theory  path-finding  permutations  code-golf  tetris  code-golf  card-games  code-golf  math  sequence  rational-numbers  code-golf  chess  code-golf  string  geometry  grid  code-golf  ascii-art  grid  code-golf  sequence  integer  code-golf  math  number-theory  packing  polyomino  code-golf  math  code-golf  string  quine  permutations  code-golf  math  code-golf  image-processing  optical-char-recognition  code-golf  string  kolmogorov-complexity  sequence  integer  code-golf  number  permutations  palindrome  code-golf  kolmogorov-complexity  code-golf  number  sequence  string  fewest-operations  code-golf  string  kolmogorov-complexity  sequence  primes  code-golf  string  ascii-art  code-golf  string  number  alphabet  code-golf  counting  code-golf  number  sequence  number-theory  primes  code-golf  subsequence  word-search 

16
这是字节的挑战
我需要别再想笨拙的名字了 您的任务是创建尽可能多的代码片段(内置输入和输出的程序),函数或完整程序,以对您所用语言的整数数组版本进行升序排序,但是对于每个程序,只允许使用使用以前的程序中未使用过的ASCII字符(如果直接将其指定为非ASCII,则使用您的语言的代码页)。 这是一个示例答案(用换行符分隔的单独程序): Derp ASdFGHJKLAAA qwEEERtyRty 在这种(虚构的语言),我的第一个答案是Derp,它使用了D,e,r和p。在第二个程序中,不允许再次使用这些字符,但是我可以重用任意多个字符。与第三个程序相同,依此类推。 每个程序必须采用整数数组,因此类似以下内容(有关有效的输入/输出样式,请参见输入/输出示例): [3 4 -2 5 7 196 -44 -2] 并且它必须以升序将数组中的项目输出为数组: [-44 -2 -2 3 4 5 7 196] 您的分数将是提交的总数。如果有平局,则最低字节数(代码中字节数最少)获胜! 程序规则: 所有提交必须以一种语言版本(so Python 2 != Python 3)正确运行。 您的提交可以是摘要,功能或完整程序。您甚至可以混合和匹配它们-但是,您必须说出哪个是哪个,并提供工作提交的链接。 如果可能,请提供所有解决方案的在线链接。 所有提交都必须以数组(或用任何字符分隔的字符串)作为输入,并输出排序后的数组(以您语言的数组形式或- {any character}分隔的字符串)。 您不得使用ASCII(或您的语言的代码页)以外的任何字符。 例如,这些是有效的输入/输出: [1 2 3 4] (Clojure style arrays) [1, 2, 3, …

30
2的幂和
挑战 给定一个整数输入x其中1 <= x <= 255,返回时总结给出了两种力量的结果x。 例子 给定输入: 86 您的程序应输出: 64 16 4 2 输入: 240 输出: 128 64 32 16 输入: 1 输出: 1 输入: 64 输出: 64 如果总和中没有确定的2的幂,则输出可能包含零。 例如,输入65可以输出0 64 0 0 0 0 0 1。 计分 这是代码高尔夫球,因此每种语言中最短的答案将获胜。
31 code-golf  binary  code-golf  sequence  integer  chess  code-golf  number  arithmetic  matrix  code-golf  code-golf  combinatorics  grid  set-partitions  code-golf  array-manipulation  graph-theory  code-golf  number  code-golf  string  decision-problem  code-golf  matrix  cellular-automata  3d  code-challenge  restricted-source  printable-ascii  code-golf  board-game  code-golf  geometry  grid  code-golf  word-puzzle  code-golf  matrix  sorting  code-golf  code-golf  string  decision-problem  code-golf  matrix  cellular-automata  code-golf  decision-problem  code-golf  math  number  arithmetic  restricted-source  code-golf  code-golf  number  integer  matrix  code-golf  date  code-golf  matrix  code-golf  sequence  combinatorics  chemistry  code-golf  array-manipulation  popularity-contest  code-golf  code-golf  natural-language  code-golf  number  integer  sorting  substitution  code-golf  string  number  date  encode  code-golf  decision-problem  code-golf  string  subsequence  code-golf  string  alphabet  code-golf 

9
建立一个扭曲的“ Hello world!”
您的工作很简单,编写一个可打印的程序Hello, world!,将其扭曲即可创建一个可打印的程序Twister!。 弦如何扭曲 扭曲算法非常简单。每列均按其索引向下移动(col 0下移0,col 1下移1,...)。列移位换行到顶部。看起来像这样: a ba cba ---- cba cb c 线下的所有内容都环绕到顶部。真实的例子: Original: \\\\\\\\\\\\ ............ ............ ............ Twisted: \...\...\... .\...\...\.. ..\...\...\. ...\...\...\ (其他示例和您喜欢的语言在这里) 计分 您的程序必须是填充矩形。这是代码高尔夫球,因此最低字节数为准! 规则 您的第一个程序必须打印Hello, world!。只允许一个尾随换行符。 您的第一个和第二个程序必须使用相同的语言。 您的第二个程序必须打印Twister!。只允许一个尾随换行符。 您的程序必须至少有2行2列。

6
编写输出其镜像级别的程序
有95个可打印的ASCII字符: !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ 在Consolas字体(默认为Stack Exchange代码块)中,某些字符在垂直对称轴周围具有镜像: 这些字符对是彼此的镜像: () [] {} <> /\ 这些字符是它们自身的镜像:(! "'*+-.8:=AHIMOTUVWXY^_ovwx|请注意空格是一个。) 这些没有镜子: #$%&,012345679;?@BCDEFGJKLNPQRSZ`abcdefghijklmnpqrstuyz~ (i,l,0,#,,可能其他字符都是自己的镜子一些字体,但我们会坚持到索拉的形状。) 如果仅用39个镜像字符制成字符串,则该字符串就是其自身的镜像,其排列方式使该字符串具有中心垂直对称线。所以](A--A)[是自身的镜子,但](A--A(]并非如此。 编写一个单行的偶数程序,该程序是其自身的镜像。当它的左半部分的N个副本已被添加到它的前面,并且已将其右半部分的N个副本添加到它的后面时,它应输出N + 1。N是一个非负整数。 例如,如果程序为](A--A)[(左半部分:](A-,右半部分:)-A)[,则: 运行](A--A)[应该输出1。(N = 0) 运行](A-](A--A)[-A)[应该输出2。(N = 1) 运行](A-](A-](A--A)[-A)[-A)[应该输出3。(N = 2) 运行](A-](A-](A-](A--A)[-A)[-A)[-A)[应该输出4。(N = 3) 。。。 运行](A-](A-](A-](A-](A-](A-](A-](A-](A-](A--A)[-A)[-A)[-A)[-A)[-A)[-A)[-A)[-A)[-A)[应该输出10。(N = 9) 等等 规则 输出到标准输出或您的语言最接近的替代产品。可能会有一个可选的尾随换行符。请勿输入任何内容。 在给定足够的内存和计算能力的情况下,该过程理论上应适用于N达2 15 -1或更高。 需要完整的程序,而不仅仅是REPL命令。 最短的初始程序(N = 0,以字节为单位)获胜。

30
确定一个数字是否可以被13整除(不使用13本身)。
如果您选择接受它,那么您面临的挑战是创建一个函数或程序,如果给定数字可被13整除,则输出“是”,否则将输出“否”。 规则: -不允许在任何地方使用数字13。 -也没有针对13的cop-out同义词(例如使用15-2)。 -如果不使用模数,将获得奖励积分,如果不使用除法,则将获得额外奖励。 评分: -您的分数将是代码中的字节数(不包括空格)乘以您的奖金。 -如果您不使用模数,则该奖励为0.90;如果您不使用除法,则该奖金为0.90。 -如果您都不使用,则该奖励为0.80。 -分数越低越好。 输入将始终是大于0且小于2 ^ 32的整数。 您的输出应该是简单的“是”或“否”。 澄清: -可以采用一些绕行方法来生成数字13。不允许使用简单的算术同义词,例如(10 + 3)。 - 如果给定的数字可被13整除,则函数或程序必须按字面输出 “是”或“否”。- 与往常一样,建议(但不是必须)明智的解决方案。

12
写一个Quine Suite
我们遇到了很多奎因挑战,但是许多奎因格式相似,因此可以使我们的奎因产生一些差异。 您的任务是用相同的语言(至少2种)创建一系列程序,所有程序都输出自己的源代码,但是,这些程序都不能共享任何字符。 例如,如果您使用以下程序创建程序: printf+qw(printf+qw(%s)x2)x2 您的下一个程序不能包含以下任何一项: %()+2finpqrstwx 等等。 规则 您可以使用unicode字符,但仍必须以字节为单位。 所有程序都必须符合社区对适当的标准的定义。这意味着,空字符串不算作有效的quine。 禁止出现标准漏洞。 只要满足上述定义,就可以使用功能或完整程序。 禁止使用与符号无关的语言(包括Lenguage和Headsecks)。 大多数程序都胜出,总代码最短的是决胜局。

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 

30
ASCII三角形
您的任务是编写一个打印ASCII三角形的程序或函数。他们看起来像这样: |\ | \ | \ ---- 您的程序将采用单个数字输入n,并带有约束0 <= n <= 1000。上面的三角形的值为n=3。 ASCII三角形将具有n反斜杠(\)和竖线(|),n+1线和破折号(-),并且每行除最终行外还将具有等于行号(从0开始,即第一行为行0)的空格。 。 例子: 输入: 4 输出: |\ | \ | \ | \ ----- 输入: 0 输出: 在此测试用例中,输出必须为空。没有空格。 输入: 1 输出: |\ -- 输入和输出必须完全是我指定的方式。 这是代码高尔夫球,因此请争取尽可能短的代码!
30 code-golf  ascii-art  code-golf  rubiks-cube  code-golf  path-finding  maze  regular-expression  code-golf  math  rational-numbers  code-golf  kolmogorov-complexity  graphical-output  code-golf  tips  code-golf  string  permutations  code-golf  sorting  base-conversion  binary  code-golf  tips  basic  code-golf  number  number-theory  fibonacci  code-golf  date  code-golf  restricted-source  quine  file-system  code-golf  code-golf  math  code-golf  ascii-art  code-golf  math  primes  code-golf  code-golf  math  matrix  code-golf  string  math  logic  factorial  code-golf  palindrome  code-golf  quine  stateful  code-golf  interactive  code-golf  board-game  code-golf  math  arithmetic  code-golf  string  code-golf  math  matrix  code-golf  math  abstract-algebra  polynomials  code-golf  date  code-golf  string  array-manipulation  sorting  code-golf  game  code-golf  string  code-golf  ascii-art  decision-problem  code-golf  number  sequence  code-golf  code-golf  code-golf  sequence  fibonacci  code-golf  math  geometry  random  code-golf  code-golf  math  decision-problem  fractal  rational-numbers  code-golf  number  number-theory  code-golf  combinatorics  permutations  card-games  code-golf  math  sequence  array-manipulation  fibonacci  code-golf  sequence  decision-problem  graph-theory  code-golf  ascii-art  parsing  lisp  code-golf  string  math  natural-language  logic  code-golf  math  logic  code-golf  string  alphabet  code-golf  string  code-golf  string 

12
向计算机科学的先驱们问好
选择您最喜欢的著名计算机科学家或计算机科学先驱,他们出生于1942年或更早(1943年标志着“第一台”计算机的诞生)。他们应该有一个Wikipedia页面或其他网站,其中列出了他们的出生年份,并说明他们的成就与计算机科学的关系。您可以选择与其他人相同的东西,但鼓励选择新的人。 取一个他们众所周知的名字。这很可能是他们的名字和姓氏,但如果更常见,则可能包含缩写或中间名。例如,对于托尼·霍尔都Tony Hoare和C. A. R. Hoare是可以接受的。 名称中的所有字符必须是可打印的ASCII。如果名称包含无法打印的ASCII字符,则选择近似值即可。例如Kurt Godel代替Kurt Gödel。 以名称中的唯一字符集(例如C. ARHoare)为例,并在科学家的出生年份之前将其向上移动到可打印的ASCII刻度,从一个~到另一个循环。(基本上以95为模添加出生年份。)这将为您(最可能)提供一组新的可打印ASCII字符。 例如,CAR Hoare于1934年出生,因此将每个字符都C. ARHoare移入1934年(34个mod 95)字符可得出ePBctj2$5(。 该堆栈片段将为您完成所有转移: function go() {var name = document.getElementById("name").value;var year = parseInt(document.getElementById("year").value);var unique = {};for (var i = 0; i < name.length; i++) { unique[name.charAt(i)] = true; } var result = ''; for (var char in unique) …

30
在不使用+,-操作的情况下检查整数是否为2的幂。
编写一个程序检查整数是否为2的幂。 输入样例: 8 样本输出: Yes 输入样例: 10 样本输出: No 规则: 不要使用+,-操作。 使用某种输入流来获取数字。输入不应最初存储在变量中。 最短的代码(以字节为单位)获胜。 您可以使用任何真实/错误的响应(例如true/ false)。您可以假设输入数字大于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.