Questions tagged «polyglot»

对于涉及以多种编程语言运行的代码的挑战。

2
什么代码可以使用最多的语言进行编译?[关闭]
除琐碎的程序外,什么代码可以用最多的语言进行编译? (“琐碎”是指排除诸如空程序或将直接回显的文本之类的答案。) 以下代码显然可以在以下所有编程语言中进行编译(并且在每种语言中打印出不同的内容):C,C ++,Perl,TeX,LaTeX,PostScript,sh,bash,zsh和Prolog。 %:/*:if 0;"true" +s ||true<</;#|+q|*/include<stdio.h>/*\_/ {\if(%)}newpath/Times-Roman findfont 20 scalefont setfont( %%)pop 72 72 moveto(Just another PostScript hacker,)show(( t)}. t:-write('Just another Prolog hacker,'),nl,halt. :-t. :-initialization(t). end_of_file. %)pop pop showpage(-: */ int main(){return 0&printf("Just another C%s hacker,\n",1% sizeof'2'*2+"++");}/*\fi}\csname @gobble\endcsname{\egroup \let\LaTeX\TeX\ifx}\if00\documentclass{article}\begin{doc% ument}\fi Just another \LaTeX\ hacker,\end{document}|if 0; /(J.*)\$sh(.*)"/,print"$1Perl$2$/"if$_.=q # hack …

30
'abc'和'cba'
您的任务很简单,编写一个代码段,当以一种语言执行时仅输出字符串,'abc'而以另一种语言执行时仅输出字符串'cba'。该程序不应该输入。 这是一个代码高尔夫挑战。

6
编写C / C ++多种语言
这个挑战的概念非常简单。您要做的就是编写一个可以同时作为有效C和有效C ++进行编译的程序!好吧,有一些陷阱。以每种语言编译时,程序的行为必须有所不同。该程序对于每种语言必须具有不同的输出,以便被视为“行为不同”。 规则 该程序必须是有效的C和C ++ 程序必须具有不同的输出,具体取决于编译时所使用的语言。 #ifdef __cplusplus不鼓励使用其他“简单”的预处理器技巧!(不过,其他预处理器操作也很好。) 尽量不要让程序看起来完全不同,这看起来很明显。 这是一场人气竞赛,因此只要有最有趣和令人惊讶的解决方案的人都会获胜。玩得开心! 例: 我创建了自己的程序,看看是否有可能做到这一点#ifdef: #include <stdio.h> #include <string.h> char *m="C++ rules!"; int t[11]={0,0,0,0,1,-1,-3,9,-8,82,0}; char tr(char c,int i) { return c+((sizeof('!')+1)&1)*t[i]; } int main() { int i = 0; for(;i<strlen(m);i++) { printf("%c",tr(m[i],i)); } printf("\n"); return 0; } 该程序C++ rules!在C ++中C++ stinks编译时和在C中编译时输出。 说明: 造成语言差异的是tr()函数。它利用了C和C …

9
GCD / LCM多色!
您面临的挑战是制作一个程序或函数,以一种语言输出其输入的GCD并以另一种语言输出其输入的LCM。允许但不鼓励使用GCD或LCM(我在看着您,Mathematica)的内建函数。将有2个输入,这些输入将始终为正整数,且不得大于1000。 测试用例 每行是一个测试用例,格式为x y => GCD(x,y) LCM(x,y): 1 1 => 1 1 1 2 => 1 2 4 1 => 1 4 3 4 => 1 12 7 5 => 1 35 18 15 => 3 90 23 23 => 23 23 999 1000 => 1 999000 1000 999 => …

10
404-找不到唯一的404页面
受到Stack Overflow 404页面上的多语言 启发: 目标 您的目标很简单,就是创建一个输出数404的多语种,然后以尽可能多的语言终止。 限制条件 这是一个转折,有一个限制使其变得更难: 您必须编写N个程序并按特定顺序选择N种语言。在我个节目需要打印404在第一个我的语言,但没有任何语言后我个。这是为了防止非常简单的解决方案破坏竞争 得分: 确定获奖者的第一个标准是主程序运行所使用的语言数量。 第二个标准是字节数,其中使用更多语言的程序对此标准更重要。 第三个也是最后一个标准是提交时间 说明: 程序的源代码不需要任何关系。它们作为单独的程序运行。任何程序都可以输出尾随和/或前导空格。程序不必彼此继承! 感谢@MartinEnder提供更好的解释!

30
* this *和* that *上的此代码错误,是否真的写在其中?
受我启发的语言不是您要寻找的语言! 挑战 选择两种不同的编程语言,然后编写一个程序,将以下行打印到stdout(或等效文件): This program errors out in <the current language> :P 然后在两种语言中都产生不同类型的错误。 规则 一些规则来自最初的挑战。 在输出中,语言名称应严格遵循: TIO上列出的名称,可以选择不包括版本号和/或实现名称(例如,如果您使用JavaScript (Node.js)其中一种语言,则可以使用JavaScript您的语言名称,但不能使用JS或Javascript。) 如果您选择的语言在TIO上不可用,则在官方网站(或GitHub存储库)上提供全名。 这两个程序都不应该接受用户的任何输入。 您可以使用两种语言的注释。 相同语言的两种不同版本计为不同语言。 如果这样做,程序应输出主要版本号,并且如果在两个不同的次要版本上运行,则还应报告次要版本。 您不应该使用预构建的版本函数(这包括在运行时已经评估过的变量)。 只要此标记不包含代码片段(例如,在C 语言中),根据该元共识,两种使用相同语言的不同命令行标记也会计为不同的语言-Dblahblah...。 如果这样做,程序还应该输出使用的标志。 除非两个错误都由相同的语义生成(例如“除以零”,“分段错误”或“索引超出范围”),否则将认为这两个错误是不同的。 如果语言的运行时在发生错误后没有退出,而是以某种方式向用户报告该错误,则这是有效的错误。 如果一种语言不能区分错误消息,但是具有导致错误的已知原因列表,则必须指定原因,而不是错误消息。 一个示例是><>,它只有一个错误消息something smells fishy...,但是esolangs Wiki页面上有错误原因列表。 除非通过调用eval()或类似方法生成,否则不允许语法错误。 允许通过throw(JS),raise(Python),die(Perl)或类似方式手动投掷某些东西,但是所有这些都被视为一种错误。 也允许在2D或golflangs中通过无效命令进行错误(并将其视为一种错误)。 例子 Python和Ruby Python:This program errors out in Python :P到stdout,然后是未定义的标识符 Ruby:This program errors out …

2
写回文-Polyglot-Quine
写“palipolyquine”:一个程序,它是一个奎因,一个通晓多种语言,以及回文。 规则: 多语言的语言数量比代码大小更可取。 如果出现平局,则最短的答案(以字节为单位)获胜。 多种语言和Quine规则请参见此处:写一个Polyquine。 我的例子(我有一个带有测试的Freaky-Sources库): C#/ Java(1747字节): /**///\u000A\u002F\u002A using System;//\u002A\u002F class Program{public static void//\u000A\u002F\u002A Main//\u002A\u002Fmain (String[]z){String s="`**?`@#_^using System;?_#^class Program{public static void?@#_^Main?_#main^(String[]z){String s=!$!,t=s;int i;int[]a=new int[]{33,94,38,64,35,95,96,63,36};String[]b=new String[]{!&!!,!&n!,!&&!,!&@!,!&#!,!&_!,!`!,!?!,s};for(i=0;i<9;i++)t=t.?@#_^Replace?_#replace^(!!+(char)a[i],b[i]);t+='*';for(i=872;i>=0;i--)t=t+t?@#_^[i];Console.Write?_#.charAt(i);System.out.printf^(t);}}/",t=s;int i;int[]a=new int[]{33,94,38,64,35,95,96,63,36};String[]b=new String[]{"\"","\n","\\","\\u000A","\\u002F","\\u002A","/","//",s};for(i=0;i<9;i++)t=t.//\u000A\u002F\u002A Replace//\u002A\u002Freplace (""+(char)a[i],b[i]);t+='*';for(i=872;i>=0;i--)t=t+t//\u000A\u002F\u002A [i];Console.Write//\u002A\u002F.charAt(i);System.out.printf (t);}}/*/}};)t( ftnirp.tuo.metsyS;)i(tArahc.F200u\A200u\//etirW.elosnoC;]i[ A200u\F200u\A000u\//t+t=t)--i;0=>i;278=i(rof;'*'=+t;)]i[b,]i[a)rahc(+""( ecalperF200u\A200u\//ecalpeR A200u\F200u\A000u\//.t=t)++i;9<i;0=i(rof;}s,"//","/","A200u\\","F200u\\","A000u\\","\\","n\",""\"{][gnirtS wen=b][gnirtS;}63,36,69,59,53,46,83,49,33{][tni wen=a][tni;i tni;s=t,"/}};)t(^ftnirp.tuo.metsyS;)i(tArahc.#_?etirW.elosnoC;]i[^_#@?t+t=t)--i;0=>i;278=i(rof;'*'=+t;)]i[b,]i[a)rahc(+!!(^ecalper#_?ecalpeR^_#@?.t=t)++i;9<i;0=i(rof;}s,!?!,!`!,!_&!,!#&!,!@&!,!&&!,!n&!,!!&!{][gnirtS wen=b][gnirtS;}63,36,69,59,53,46,83,49,33{][tni wen=a][tni;i tni;s=t,!$!=s gnirtS{)z][gnirtS(^niam#_?niaM^_#@?diov citats cilbup{margorP ssalc^#_?;metsyS gnisu^_#@`?**`"=s gnirtS{)z][gnirtS( niamF200u\A200u\//niaM …

27
一个月中有几天?
给定一个月的文本表示形式(不区分大小写的全名或3个字符的缩写),请返回该月的天数。 例如,december,DEC,和dec都应该返回31。 2月可以有28天或29天。 假设输入的是正确格式之一的月份。

6
多种语言(非恒定)OEIS!
免责声明:这在很大程度上受“ Polyglot OEIS!”的启发。但是解决了导致关闭的问题(请参见输出部分),并重新发布了该问题以使答案无效。 介绍 我们都知道并喜欢整数序列在线百科全书(OEIS)。那么,如果我们制作了有趣序列的离线版本怎么办?好吧,这有点太简单了,不是吗,您将如何使用我们的标准界面选择一个序列!否。我们需要一个更简单的解决方案。多语种! 输入项 您的输入将是一个非负整数n。 输出量 您的输出将是 nOEIS序列的第-个条目或 nOEIS序列的第一项。 您可以根据需要使索引基于1或0。 为了不使该问题重复,禁止使用通用整数打印机 常量序列。这也应该增加提交的难度,并避免“无聊”的解决方案;) 如果存在两个不相等的序列成员,则序列是非恒定的。 嗯,挑战在哪里? 您必须掌握上述功能。也就是说,如果您支持语言A,B和C,则都必须实现不同的OEIS序列。顺序的选择没有限制,只是所有语言都需要不同的顺序。 也就是说,如果您使用语言A运行提供的程序,则应生成序列X,如果您使用语言B运行提供的程序,则应生成序列Y(X!= Y),并且如果您运行提供的程序用语言C生成序列Z(X!= Z && Y!= Z)。 谁赢? 序列/语言对最多的答案胜出。第一个决胜局是代码大小(以字节为单位),越低越好。第二个决胜局是提交时间,越早越好。 还有最后的字词/规则吗? 您必须声明哪种语言将生成哪个序列。 适用标准I / O规则。 如果在两种语言之间使用不同的编码,则两个程序必须使用相同的字节序列。 语言(Python 2/3)修订版确实算作不同的语言。语言的不同实现(例如Browser JS vs Node.js)也算作不同的语言。 有标准漏洞。

7
伪除数和多态
任务 在这个挑战中,您的任务是用编程语言L编写一个程序,该程序采用正整数n,并输出n的适当除数之和(OEIS上的序列A001065)。它应该返回任何正确的输出1≤N≤10 000。以下是前10个输出: 0, 1, 1, 3, 1, 6, 1, 7, 4, 8 此外,您的程序必须是假的polyglot,这意味着以下内容。它是另一种编程语言的有效程序L”,并且对于每个输入1≤N≤10(测试用例以上),则返回的适当的除数的总和Ñ,但存在一些11≤Ñ000≤10为其它不会返回正确的结果。它可能会返回不正确的内容,永远循环,崩溃等。对于所有n≥11(对于其中的某些n个或仅一个),它都可能给出错误的结果。 规则和计分 您可以编写完整的程序或函数,并且可以使用两种语言使用不同的输入和输出方式。最低字节数获胜。适用标准代码高尔夫球规则。在这一挑战中,一种语言的不同主要版本或实现被认为是不同的。 请注意,如果您使用具有非ASCII编码的编程语言(如本站点上的许多语言),则两种语言都必须使用相同的字节序列。这意味着您必须在可能不同的代码页之间进行转换,或者必须对多字节Unicode字符进行惩罚。 其他测试用例 20 -> 22 36 -> 55 180 -> 366 997 -> 1 2875 -> 869 10000 -> 14211

10
自然日志上的蚂蚁
这是一个很好的初学者挑战,也是一个很好的时间杀手。 我只说了-自然-对数,因为标题太短了,这与对数无关。 给定2个变量: 蚂蚁数量n。 日志的宽度w。 输出日志宽度w与n蚁(实施例示出w=3,n=6) | | | \O/ \O/ \O/ | | -O- -O- -O- | | /o\ /o\ /o\ | | ^ ^ ^ | | | | \O/ \O/ \O/ | | -O- -O- -O- | | /o\ /o\ /o\ | | ^ ^ ^ | …

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 

30
获取一个具有不同数字的随机n位数字,第一个不是0
我读了这个问题,并认为这将是一个不错的挑战。 任务 给一个输入0<n<10生成一个随机数 正好n位数字 第一个不是 0 所以 f(n)>10**(n-1)-1 不同的数字 获奖标准 这是代码高尔夫球,因此最短的代码获胜。 随机 我的意思是随机分布均匀。因此,从程序的角度来看,每个可能的数字都有相同的机会。如果您使用的语言具有一个奇怪的随机数生成器,则可以使用该生成器。 例 要从中随机选择的值的列表n=2是: [10, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 47, 48, …
22 code-golf  number  random  grid  game  king-of-the-hill  javascript  code-golf  arithmetic  statistics  code-golf  math  code-golf  math  code-golf  string  palindrome  code-golf  string  interactive  code-golf  quine  polyglot  code-golf  string  stack-exchange-api  code-golf  number-theory  decision-problem  code-golf  tips  code-golf  string  internet  code-golf  graphical-output  image-processing  fractal  code-golf  ascii-art  geometry  hexagonal-grid  code-golf  string  restricted-source  hello-world  code-golf  game  code-golf  cipher  code-golf  permutations  cops-and-robbers  permutations  cops-and-robbers  code-golf  internet  stack-exchange-api  code-golf  ascii-art  random  code-golf  tips  code-golf  ascii-art  code-golf  code-golf  kolmogorov-complexity  code-golf  string  unicode  code-golf  number  sequence  primes  palindrome  code-golf  game  decision-problem  code-golf  math  geometry  code-golf  graphical-output  interactive  code-golf  set-partitions  code-golf  number  arithmetic  restricted-source  code-golf  decision-problem  python  recursion  code-golf  ascii-art  code-golf  source-layout  code-golf  function  recursion  functional-programming  code-golf  game  combinatorics  permutations  code-golf  string  file-system  code-golf  string  hashing  code-golf  stack-exchange-api  code-golf  string  code-golf  math  number  arithmetic  polyglot 

7
打印多语种碎片
通常,以多种语言构造多语言,通过将它们包装在字符串文字中,使用注释语法或其他类似的技巧,每种语言可以忽略其他语言存在的代码部分。 您的目标是编写一个多语言版本,其中每种语言的输出是来自产生该输出的多语言版本的代码。具体来说,输出必须由仅删除的多语言代码构造而成,并且必须是给定语言的Quine。 规则 只要 允许适当的Quins(禁止读取源代码,禁止接受输入,如果没有STDOUT选项,则输出必须为STDOUT或最接近的替代方案,并且程序必须不仅包含隐式打印的文字,而且还应包含其他内容)。 由于不同的语言可以使用不同的编码,因此原始字节在这里很重要。例如,如果语言A使用UTF-8,语言B使用CP437,则(十六进制)代码C3 88 46 47为ÈFG用于语言A和├êFG语言B。 所有输出必须是不同的(再次比较原始字节)。这避免了尝试限制次要语言版本时的麻烦-如果两种语言使用代码的同一部分来执行相同的操作,则不能同时声明它们两者。 如果您有两种语言A和B,它们XY在这两种语言中都是有效的输出,但YZ在B中也是有效的,那么您可以选择XY作为A YZ的输出和B的输出,因此可以在分数中同时使用它们(但XY由于上述规则,您无法同时使用两种语言。 所有输出必须尽可能短。例如,如果您的代码是print('foo')#something,对于Python 3(忽略输出不正确的事实),您需要输出的代码将是print('foo'),并且print('foo')#将不允许使用。如果有多个长度相等(最小)的字符串产生正确的输出,则可以选择其中任何一个。 提交内容必须是至少两种语言的多语种。 您的分数将由给出(number of programming languages with distinct outputs)**3/(total byte size of polyglot)。最高分获胜。如果两个提交者得分相同,则首先达到该得分的提交者将获胜。

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.