Questions tagged «polyglot»

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

8
上升还是下降?
给定山羊的图像,您的程序应该最好尝试识别山羊是否倒置。 例子 这些是输入可能是什么的示例。不是实际的投入 输入: 输出: Downgoat 规格 您的程序最多应为30,000个字节 输入将包含完整的山羊 图片将始终包含山羊 如果山羊倒立,输出Downgoat,否则Upgoat 输入将是您可以将图像作为输入(文件名,图像的base64等)。 要点文件名仅供参考,不要依赖于包含“ Upgoat”或“ Downgoat”的图像名称或其他元数据。 请不要硬编码。这很无聊,我无法完全执行它,但是我可以很好地询问。 测试用例 要点与图像。开头的图像downgoat具有Downgoat输出和图像开始与upgoat有Upgoat输出。 第二批测试用例 确保在所有测试用例上测试图像。这些图像是jpgs。图像大小确实有所不同,但没有说太多。 注意:在接受答案之前,可以添加一些测试用例,以避免使用硬编码的答案并检查程序的总体性能。 正确获得我的头像的奖励积分:P 计分 分数是可以通过以下方式计算的百分比: (number_correct / total) * 100

30
将语言添加到多语言
这是一个答案链挑战,其中每个答案都基于前一个答案。我建议按“最旧”的顺序对线程进行排序,以确保帖子的发布顺序。 注意:这已经成为一个长期的挑战,发布新答案非常困难。这样,如果您想对潜在答案的特定部分提出建议,对可以添加的语言有想法等,现在有一个聊天室可用于应对这一挑战。如果您有任何要问或说的话,请随时加入! 任务 要提交的第n个程序必须以n种不同的语言运行;具体来说,是要提交的先前程序中添加的所有语言,以及另外一种。程序在以用于该问题答案的第一种语言运行时必须输出1,以第二种语言运行时必须输出2,依此类推。例如,第一个答案在Python 3中运行时可以显示1,第二个答案在Python 3中运行时可以输出1,而在JavaScript中运行时可以输出2。在这种情况下,第三个答案在使用Python 3时必须输出1,在JavaScript中运行时必须输出2,而在其他语言下运行时则必须输出3。 附加规则 您的程序必须在运行时不会出错或崩溃。警告(和其他stderr输出)是可以接受的,但是程序必须正常退出(例如,通过运行程序结尾或通过诸如exit执行正常程序终止的命令)。 输出必须仅是整数,但结尾的换行符可以。还允许其他不可避免的标准输出。示例:Befunge-93中的 解释程序名称和版本,Zephyr中打印字符串后的空格。某些语言提供了两种打印方法–带和不带尾部空格;在这种情况下,必须使用没有尾随空格的方法。 每个答案的长度不得超过前一个答案的20%或20个字节(以较大者为准)。(这是为了防止使用诸如Lenguage之类的语言来增加垃圾邮件的数量,并鼓励至少进行少量打高尔夫球。) 允许使用相同语言的不同版本(尽管显然它们必须打印不同的数字,所以您需要在多语言版本中放入版本检查)。但是,您可能无法使用返回语言版本号的语言功能。显然,重复完全相同的语言是不可能的(因为程序必须确定性地打印两个不同的数字之一)。 尽管在某些多语言竞赛中被禁止,但是诸如过度评论滥用之类的技巧在这里还是不错的。 您不必将先前的答案用作编写自己的指南(只要符合规范,就可以重写整个程序);但是,允许您的答案主要基于先前的答案,这可能是解决问题的最简单方法。 您不能连续提交两个答案。让其他人在两者之间发帖。该规则适用,直到满足胜利条件。 由于此挑战要求其他竞争对手以您使用的相同语言发布,因此您只能使用免费实施的语言(就像这是一场警察和强盗竞赛)。 在一种语言具有多个解释器的情况下,您可以为任何给定的语言选择任何解释器,只要要使用该语言成功运行的所有程序在该解释器中都可以。(换句话说,如果一个程序可以在多个口译员中工作,那么以后的职位可以选择其中一个口译员,而不是“锁定”特定语言翻译人员的职位。) 现在,此挑战使用了有关语言选择的新PPCG规则:即使语言比问题新,您也可以使用语言或语言解释器。但是,如果a)语言是为多语制而设计的,或者b)语言是受此问题启发的,则您不能使用比问题新的语言/解释器。(因此,新设计的实用编程语言几乎可以肯定会被接受,无关的esolangs也会被接受,但是像A Pear Tree这样的问题就被禁止了。)请注意,这不会改变所设计语言的有效性。比这个问题更古老的 请注意,胜利条件(请参阅下文)的设计是为了打破连锁关系(即,使其他人无法通过使用难以与其他语言混用的语言在您之后回答)将使您失去获胜的资格。我们的目标是继续努力,如果您想赢得胜利,就必须尊重这一点。 答案格式 由于所有答案彼此依赖,因此具有一致的答案格式将很有帮助。我建议格式化您的答案,如下所示(这是链中第二个链接的示例): 2. JavaScript,40个字节 (program goes here) 该程序在Python 3中打印1,在JavaScript中打印2。 (如果您要解释程序,多色融合技术等,请在此处放置) 胜利条件 一旦有14天没有新的答案,获胜者将是发布第二新答案的人,即被证明没有破坏链条的最大的多语种。不过,仍然很欢迎在那之后延长连锁! 获胜者是机会,请参阅答案194(TemplAt)。 语言清单 显示代码段 // This snippet is based on the snippet from hello world thread https://codegolf.stackexchange.com/questions/55422/hello-world ...

30
我不是您要查找的语言!
当您找到一段代码并且不知道该语言是用什么语言编写时,这会很烦吗?这个挑战试图在某种程度上解决这个问题。 挑战 您将必须编写一个程序,当以两种不同的语言运行时,该程序将输出字符串: This program wasn't written in <language program compiled/interpreted in>, it was built for <other language the program can be run in>! 在输出中,语言名称应使用大写字母。例如:CJam,C ++ 这两个程序都不应该接受用户的任何输入。 当以两种语言运行时,输出应为stdout或等效输出。 在这两个程序中,stderr均不应有输出。 您可以使用两种语言的注释。 相同语言的两种不同版本计为不同语言。 如果这样做,程序应输出主要版本号,并且如果在两个不同的次要版本上运行,则还应报告次要版本。 您不应该使用预构建的版本函数(这包括在运行时已经评估过的变量)。 输出示例: Perl和Ruby: Perl: This program wasn't written in Perl, it was built for Ruby! 红宝石: This program ...

30
捣蛋多语
既然万圣节快到了,我想我可能会开始一个有趣的小代码高尔夫挑战赛! 挑战非常简单。您必须编写一个输出trick或的程序treat。 “转弯?” 你可能会问。好吧,让我解释一下: 您的程序必须执行以下操作: 可以使用两种不同的语言进行编译/运行。相同语言的不同版本不计算在内。 当您使用一种语言运行该程序时,应该输出trick,而另一种语言应该输出treat。大小写无关紧要,并且允许在字符串中填充空格字符(请参见示例)。 这是代码高尔夫球,因此以字节数最少的解决方案为准。 一些解释: 有效的输出(仅针对不用于运行两种语言的代码的单词。还添加引号来表示输出的开始或结束。请勿在解决方案中包括它们!): "trick" "Treat" " TReAt" " tRICk " 无效的输出: "tri ck" "tr eat" "trck" 我很想知道您能想到什么!高尔夫快乐! 我想指出,这是我的第一个挑战,因此,如果您对此问题有任何建议,请以评论形式保留。 排行榜 这是一个堆栈片段,用于按语言生成常规排行榜和获胜者概述。 为确保您的答案显示出来,请使用以下Markdown模板以标题开头。 # Language Name, N bytes N您提交的文件大小在哪里。如果您提高了分数,则可以通过打败旧分数来保持标题。例如: # Ruby, <s>104</s> <s>101</s> 96 bytes 如果要在标头中包含多个数字(例如,因为您的分数是两个文件的总和,或者您想单独列出解释器标志罚分),请确保实际分数是标头中的最后一个数字: # Perl, 43 + 2 (-p flag) = 45 ...

16
可能会以多种语言辞职
尽管您提出了抗议,您的老板还是让您开始工作在一个程序中,该程序采用一个无符号整数作为输入,如果该整数是质数,则输出字符串“ prime”,如果不是则输出字符串“ not prime”。只要生成的程序简短,就可以选择使用哪种语言。您的老板非常欣赏字符数少的东西。(在打印出源代码之后,他实际上将手动计算字符。) 因此,您最好做到这一点,以最少的字符数为准。 有趣的部分 这只是在您我之间,但是您的程序也应该以另一种语言有效。但是,用这种语言,它应该打印字符串“如果老板发现了,我就退出了。”。反复阅读代码时,请确保您的上司不会发现有隐藏的侮辱,因为他会忘记自己到目前为止是否算过17或18。因此,您可能无法在代码的一部分中使用“老板发现此辞职”中的任何单词,也不能使用这5个单词和它们的字谜。 我创造了赏金的奖金挑战 编写实际上看起来像是在解决未经训练的眼睛的第一个问题并且似乎不包含不必要的字符的程序。其中包括注释和代码段,这些注释和代码段显然没有任何作用。理想情况下,一个外行人会相信您的程序实际上尽可能的短而不被无法管理。有用的评论在这里,虽然可以。 奖金挑战的规则稍微宽松一些,而不是根据容易衡量的标准来判断,您的程序将更多地根据它如何影响我(当然还有选民)来进行判断 我将是哪个条目最接近应得的悬赏的最终裁判。 编辑: 在您的老板数分钟之后,他让您的一个同事为他编写了一个字符计数程序。因此,即使看不见的字符也计入您的字符数。

30
多功能整数打印机
编写一段至少可以用三种不同语言执行的代码。代码必须输出第一1语言,第二2语言,3第三语言等的整数。 规则: 输出必须仅是整数,但结尾的换行符可以。 该代码不能接受任何形式的输入 同一语言的不同主要版本被认为是唯一的。因此,您的代码可以在Python 2和Python 3中执行,但是Python 2.5和Python 2.7并不是唯一的。 您可以使用一种新语言,前提是该语言具有esolang / wiki文章,可用的解释器和文档,并且在用于此挑战之前已被至少两个用户在PPCG上使用。它还必须遵守这4条规则。 提交的分数是代码中的字节数除以可以在多维数据集中运行的语言数。因此,可以以3种语言执行的54字节解决方案得分为2: 54 / 3^3 = 2 分数越低越好。 排行榜 显示代码段 <style>body { text-align: left !important} #answer-list { padding: 10px; width: 290px; float: left; } #language-list { padding: 10px; width: 290px; float: left; } table thead { font-weight: bold; } ...

18
该语言何时发布?
您的挑战很简单。您需要编写一个程序,该程序可以在发布所用语言的那年将其打印到STDOUT或文件中。因为这是一个简单的任务,所以它必须用尽可能多的不同语言编写。 您的分数是正确打印的不同年份的总数。 对于您使用的每种语言,您必须 指定您使用的语言版本。(如果有多个版本) 指定该版本首次发布的年份,以及 提供指向页面的链接,以证明您的版本/语言的日期。 只要指定了版本号(如果适用)和发布日期,上述任何一项都可以视为发布日期证明。 维基百科页面。 一个esolangs页。 语言的官方网站。只要有发布日期,一个github页面或类似页面就算在内。(最新提交不计算在内,除非代码中有版本号) 如果该语言没有多个版本或发行版本,请使用该语言的初始发行日期。 同日而语的次要版本都算作不同的语言,只要他们来自不同的年份,仍然产生正确的输出。您不得使用任何可为您提供有关所用语言当前版本的信息(包括发行日期)的内置程序。例如,这是无效的python提交: import platform i = platform.python_version() if i == '3.5': print(2015) if i == '3.4': print(2014) if i == '3.3': print(2012) ... 无论哪种提交方式都能正确打印出最鲜明的年份获胜! 规则 每个程序都必须打印出语言年份,仅此而已。允许使用尾随换行符(Windows样式或* nix样式)。 没有程序可以接受任何输入。 如果出现平局,则以字节计的最短代码获胜。您可以为此使用任何编码,但是所有程序必须使用相同的编码。 只要仍将正确的输出打印到STDOUT或文件中,任何程序都可以打印到STDERR,或抛出运行时/编译时错误和警告。 不同的语言可能使用不同的IO方法,但它们大多数都是完整程序(此挑战所不允许的功能),并且遵循我们允许的默认IO方法之一。 高尔夫快乐多语!

28
计算Phi(非Pi)
不,我不是说ϕ = 1.618...和π = 3.14159...。我的意思是功能。 φ(x)的是一个整数小于或等于的数量x互质到x。 π(x)是小于或等于的素数x。 假设“非pi”为π̅(x),并将其定义为小于或等于的复合数x。 任务 给定一个严格的正整数x,计算φ(π̅(x))。得分以字节为单位。 例子 每行包括输入(从1到100,包括1和100),以及由空格分隔的相应输出。 1 0 2 0 3 0 4 1 5 1 6 1 7 1 8 2 9 2 10 4 11 4 12 2 13 2 14 6 15 4 16 6 17 6 18 4 19 4 ...
73 code-golf  sequence  primes  number-theory  code-golf  decision-problem  code-golf  date  code-golf  typography  code-golf  math  number  multiple-holes  code-golf  quine  code-golf  string  syntax  code-golf  math  primes  rational-numbers  code-golf  graphical-output  image-processing  code-golf  kolmogorov-complexity  music  audio  code-golf  string  code-golf  math  geometry  code-golf  math  sequence  combinatorics  code-golf  game  grid  board-game  code-golf  restricted-source  array-manipulation  source-layout  code-golf  base-conversion  binary  code-golf  math  physics  code-golf  math  number  date  expression-building  code-golf  array-manipulation  graph-theory  decision-problem  popularity-contest  error-correction  code-golf  kolmogorov-complexity  geometry  grid  code-challenge  arithmetic  combinatorics  set-partitions  code-golf  kolmogorov-complexity  sequence  fibonacci  code-golf  restricted-source  pristine-programming  code-golf  code-golf  string  kolmogorov-complexity  code-golf  arithmetic  code-golf  string  parsing  code-golf  code-golf  sorting  counting  permutations  3d  code-golf  code-golf  ascii-art  music  code-golf  string  code-golf  string  ascii-art  code-golf  string  code-golf  quine  polyglot  code-golf  math  string  code-golf  internet 

14
多种语言的Hello World
任务 创建在多种编程语言中有效的程序或函数,并在将其编译/解释为其他语言时输出“ Hello,World!”。用另一种自然语言 例如,一个有效的解决方案Hello World!在编译并以C语言运行时可能会输出(英语),Hallo Welt!在编译并以C ++身份运行时可能会(德语),而在你好世界!Python时则输出(中文)。 规则 为了避免对答案的有效性产生歧义,下面列出了几种语言允许的短语版本。该列表包含这些短语,其中Google Translate对该短语进行了社区验证的翻译(截至撰写本文时)。* 这些翻译的准确性值得商,,但这正是挑战所要使用的。打印的字符串必须完全遵循以下格式(开头或结尾的空格除外)。 Afrikaans: Hello Wêreld! Albanian: Përshendetje Botë! Amharic: ሰላም ልዑል! Arabic: مرحبا بالعالم! Armenian: Բարեւ աշխարհ! Basque: Kaixo Mundua! Belarussian: Прывітанне Сусвет! Bengali: ওহে বিশ্ব! Bulgarian: Здравей свят! Catalan: Hola món! Chichewa: Moni Dziko Lapansi! Chinese: 你好世界! Croatian: Pozdrav svijete! ...

10
岩石,多色,剪刀
编写一个程序,使用三种语言来玩剪刀石头布。 程序的任何版本的输入始终是字符串rock或paper或之一scissors。 程序必须使用第一语言输出击败输入的石头剪刀布选择: Input Output rock paper paper scissors scissors rock 程序必须使用第二种语言输出与输入相关联的剪刀布选择: Input Output rock rock paper paper scissors scissors 程序必须使用第三种语言输出输给输入的石头剪刀布选择: Input Output rock scissors paper rock scissors paper 以字节为单位的最短代码获胜。决胜局是最高投票的答案。 的输入和/或输出可任选地具有一个尾随的换行符但否则应该只是纯rock/ paper/ scissors字符串。您可以使用大写ROCK,PAPER,SCISSORS如果需要的话。 您不能使用同一语言的不同版本(例如Python 2和3)。

14
编写印刷该语言名称的多语种
您的任务是编写一个程序,该程序以尽可能多的语言执行,并使用尽可能少的字符。为了避免简单的解决方案,该程序必须打印其运行语言的名称。 计分 您的程序必须至少支持5种语言。程序的分数为: (number of languages)1.5 / (length of program) 最高分数获胜,不早于第一个有效答案后的10天。

30
π天之谜3/14
π日快乐。这个问题的目的是计算一个半径为3的圆的面积,其中A =πr²。 要注意的是,您必须使用用与编程语言不同的语言定义的常数π。例如,您可以编写使用Fortran的C程序MATH::PI或使用Java的Python程序java.lang.Math.PI。 规则: 您的代码必须使用其他语言存储的π值进行计算。(即,它必须存储在常量库或数学库中。) 程序的所有代码都必须放在一个文件中。例如,您不能用C编写一个程序来打印π,而不能用Java编写另一个程序来运行C程序。(但是,您可以编写一个Java程序,该程序可以自己编写和编译C程序。) 您不能从网页上下载π并声称您的常量来自PHP / ASP / HTML。 这是一个在Bash中运行并使用Python的存储math.pi值的示例: #!/bin/bash PI=`python -c 'import math; print math.pi'` bc -l <<< "3 * 3 * $PI" 输出: 28.27433388231 这是一场大众竞赛,因此一周后获得最多票数的作品将获胜。 编辑:一周后,该奖项以93分获得了DigitalTrauma。感谢出色的汇编技巧-我不知道FPU将常数存储在硬件中。我希望本次比赛旨在找到一些有趣的方法来节省时钟周期,但实际上可以节省一些时间。 *图片提供:http : //xkcd.com/10/

18
像查克·诺里斯一样计数
正如众所周知的, 查克·诺里斯(Chuck Norris)数到无限。两次 此外, 查克·诺里斯(Chuck Norris)可以倒数到无限远。 另外,尽管可能不为人所知,查克·诺里斯(Chuck Norris)除了英语之外还能说一点西班牙语。 挑战 编写可以用两种不同语言运行的程序(或函数)。程序应以一种语言输出序列 1, 1, 2, 2, 3, 3, 4, 4, ... 而用另一种语言,它应该产生序列(包括前导零) 1, 2, ..., 9, 01, 11, 21, 31, ..., 89, 99, 001, 101, 201, ... 规则 允许使用任何编程语言编写程序或功能。禁止出现标准漏洞。 相同语言的不同版本(例如Python 2/3)不算作不同语言。相关语言(例如C / C ++或Matlab / Octave)确实算作不同语言。 没有输入。 程序应继续输出序列项,直到被用户停止为止。由于程序不会自行停止,因此最终无法产生输出。它必须在程序运行时连续或批量生产。 输出可以使用STDOUT或等效输出,也可以显示在图形窗口中。序列项之间可以使用任何非数字分隔符,只要可以将每个项与其相邻项区分开即可。如果在各条款之间清除了屏幕,这也是可以接受的。 任一个序列都可以从而0不是从开始1。在这种情况下,按“两次”顺序0应按重复,就像其他数字一样。 前导零在“向后”序列中很重要。例如,第十项是01; 既不1是001也不可接受。 ...

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
确定您的语言版本
您面临的挑战是编写一个可以在您的语言的不同版本中使用的多语言。运行时,它将始终输出语言版本。 规则 您的程序应至少在两种语言版本中运行。 程序的输出应仅是版本号。无多余数据。 您的程序可以使用任何您喜欢的方法来确定版本号。但是,输出必须遵循规则2。但是,如果您确定版本号,则输出只能是数字。 您的程序仅需要输出语言的主要版本。例如,在FooBar 12.3.456789-beta中,您的程序仅需要输出12。 如果您的语言在版本号之前或之后放置单词或符号,则无需输出这些单词或符号,只需输出编号。例如,在C89中,您的程序仅需要打印89,而在C ++ 0x中,您的程序仅需要打印0。 如果您选择打印全名或次要版本号,例如C89而不是C99,则只能打印名称。C89 build 32有效,而error in C89 build 32: foo bar无效。 您的程序可能不使用内置的,宏的或自定义的编译器标志来确定语言版本。 计分 您的分数将是代码长度除以其工作版本的数量。分数最低者获胜,祝您好运!

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.