Questions tagged «polyglot»

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

29
计算平方和平方根!
您必须制作一个能用一种语言输出输入的平方并用另一种语言输出输入的平方根的多色图。以字节为单位的最短答案为胜! 您必须具有至少3个小数位的精度,并且输入将始终为正浮点数。

16
创建多语种的技巧
甲通晓是可在2种或多个不同的编程语言来运行程序。 您有什么通用技巧来制作多语言文字,或为特定任务选择易于编写多语言文字的语言? 请发布可在大多数情况下应用的提示。也就是说,它们不应仅在两种特定语言的多语言环境中工作。(如果您的技巧太具体,则可以简单地发布多语种问题的答案。)但是,您可以引入一种语言的功能,从而可以轻松地使用多种语言,也可以轻松地将其添加到任何现有的多语系中。 请为每个答案发布一个提示。如果特定于语言的提示也适用于另一种语言,请随时建议编辑。
48 tips  polyglot 

30
多种语言的Anagrams警察的线程
这个挑战有两个线程。这是警察的话题。强盗的线程位于此处。 您的挑战是选择一个OEIS序列,并用两种不同的语言编写两个完整的程序,当通过STDIN或其他形式的标准输入(其中n为任何正数)给定n时,该序列将生成序列中的第n个项目。但是,您的两个程序必须是字谜,这意味着每个程序都可以从对方的字母重新排列。 程序必须将数字的小数点后跟可选的空白输出到STDOUT。程序可以输出到STDERR,但是应该忽略它,如果隐藏的情况如此,则必须明确指出是这种情况。 如果愿意,也可以按字符代码输出。但是,如果您在隐藏的解决方案中这样做,则必须在提交的正文中注明。 然后,您将显示OEIS编号,其源代码以及它所使用的一种语言的名称。 如果抢劫犯找到了以您已经提出的语言以外的其他语言运行的原始提交的字谜,则盗贼会破解您的提交。要破解答案,他们必须只找到能产生顺序且是原文的字谜的任何语言和程序,而不一定是您正在考虑的答案。 因此,您会受到激励,使他们尽可能难于使用其符号列表来查找完成任务的任何语言。 计分 这是代码高尔夫球,所以最短的,完整的程序是赢家。 语言能力 如果两种建议的解决方案都不能用两种语言完成任务,则将认为语言是不同的。只要警察的解决方案或强盗的解决方案都不能使用另一种语言输出正确的语言,这将包括同一语言的不同版本。 即,如果有两个解决方案1和2分别使用语言A和B,则解决方案2不能使用语言A产生正确的输出,解决方案1不能使用语言B产生正确的输出。 安全 一旦您的提交被破解了一个星期,您可以发布解决方案并声明您的发布安全。如果一周后您选择不发布解决方案,您的答案可能仍会被破解。

30
构造身份矩阵
挑战非常简单。给定整数输入n,输出n x n单位矩阵。单位矩阵是1从左上角到右下角的s 矩阵。您将编写一个程序或函数来返回或输出您构造的身份矩阵。您的输出可能是2D数组,或者是由空格/制表符和换行符分隔的数字。 输入和输出示例 1: [[1]] 2: [[1, 0], [0, 1]] 3: [[1, 0, 0], [0, 1, 0], [0, 0, 1]] 4: [[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]] 5: [[1, 0, 0, 0, 0], [0, 1, 0, 0, 0], …

3
克莱因地形学
克莱因(Klein)是我设计的2D语言,可以嵌入12种不同的拓扑表面。通过更改命令行参数,可以在不同的表面上运行Klein程序。 拓扑确定指令指针离开程序边缘时的位置。当移出边缘时,ip将跳至具有匹配颜色的边缘,并保持其相对于箭头的位置,即指针将保留其与箭头的距离。 例如topology 000,大多数2D语言使用的topology ,当离开边缘时,会使指令指针环绕到另一侧。 任务 任务非常简单,编写一个Klein程序,该程序在运行时将输出其运行所在的拓扑。各个数字可以用空格分隔。(例如000和0 0 0都是允许的输出)。您可以选择使用或忽略-A命令行标志,如果使用它不会花费您的字节数。 这是代码高尔夫球,所以最短的答案将是赢家。 这是一个在线测试驱动程序,可用于一次测试所有拓扑。要以整数模式运行,请删除-A。

15
99瓶啤酒,99种语言
目的是编写一个简单的“ 99瓶啤酒”程序..该程序在至少两种不同的语言(例如,Python 2和Python 3)中无效。它必须是将运行或编译的完整文件。 有趣的答案应该被投票,但紧凑性也很重要。(当然,语言多样性是主要目标。) 编辑:我会说,要有普通的C代码,用C ++和Objective-C做同样的事情,就算是派生类。该代码应该做一些聪明的事情,以使行在不同的语言中具有不同的含义。

15
感恩节要带什么?
美国的感恩节将于11月24日到来。许多人将与家人共进晚餐,传统上包括火鸡和许多配菜。这通常意味着家庭成员必须协调谁将带来各种菜肴。在此挑战中,目标是编写一个多语言,以其运行的每种语言输出不同的菜肴。 菜单 (选自Wikipedia。以防万一,每行都是一个项目。) turkey stuffing dressing cranberry sauce mashed potatoes gravy winter squash sweet potatoes corn green beans green bean casserole mac and cheese macaroni and cheese salad rolls biscuits corn bread pumpkin pie apple pie mincemeat pie sweet potato pie pecan pie apple cider sweet tea 规则 每个提交必须至少以3种语言运行,每种语言都必须从菜单中输出不同的项目。您不能使用同一语言的多个版本(例如,不能在同一答案中使用Python 2和Python …

22
自然派#0-摇滚
目标 创建一个接受输入的程序/函数N,检查N随机整数对是否相对质数,然后返回sqrt(6 * N / #coprime)。 TL; DR 这些挑战是仅需要自然和大脑(也许还有一些可重复使用的资源)才能逼近Pi的算法模拟。如果您在僵尸启示录期间确实需要Pi,那么这些方法不会浪费弹药!还有另外八个挑战。检出沙盒帖子以提出建议。 模拟 我们在模拟什么?好吧,两个随机整数是相对质数(即coprime或gcd == 1)的概率是6/Pi/Pi,因此计算Pi的自然方法是挖出两个桶(或少数几个)的岩石。数他们;看看他们的gcd是否为1;重复。这样做后,一对夫妇很多次,sqrt(6.0 * total / num_coprimes)会趋向Pi。如果计算世界末日后的平方根使您感到紧张,请不要担心!有牛顿法。 我们如何模拟这一点? 接受输入 N 请执行以下N次数: 均匀生成随机正整数,i并且j 用 1 <= i , j <= 10^6 如果gcd(i , j) == 1:result = 1 其他: result = 0 取N结果的总和,S 返回 sqrt(6 * N / S) 规格 输入值 …
39 code-golf  math  random  pi  approximation  popularity-contest  code-golf  sequence  number-theory  binary  coding-theory  code-golf  math  3d  code-golf  code-golf  math  number  code-golf  kolmogorov-complexity  code-golf  ascii-art  graphical-output  binary-tree  code-golf  ascii-art  code-golf  ascii-art  kolmogorov-complexity  code-golf  array-manipulation  hexadecimal  code-golf  math  number  set-theory  code-golf  math  arithmetic  number-theory  integer  code-golf  string  kolmogorov-complexity  code-golf  math  sequence  arithmetic  decision-problem  code-golf  code-golf  ascii-art  code-golf  array-manipulation  parsing  code-golf  string  ascii-art  kolmogorov-complexity  code-challenge  code-golf  sequence  code-golf  number  array-manipulation  sorting  code-golf  string  function  code-golf  arithmetic  code-golf  math  sequence  number-theory  primes  restricted-source  javascript  code-challenge  polyglot  rosetta-stone  code-golf  code-golf  regular-expression  code-golf  math  code-golf  math  primes  code-golf  ascii-art  kolmogorov-complexity  binary  code-golf  math  sequence  code-golf  sequence  subsequence  code-golf  string  code-golf  parsing  music  code-golf  grid  game  path-finding  board-game  code-golf  string  binary  code-golf  array-manipulation  balanced-string  code-golf  code-golf  algorithm  code-golf  string  number  arithmetic  array-manipulation  code-golf  array-manipulation  binary-tree  tree-traversal  code-golf  code-golf  tips  code-golf  string  base-conversion  code-golf  tips  s.i.l.o.s  code-golf  string  ascii-art  code-golf  code-challenge  code-golf  game 

3
解决魔方
编写最短的程序,以在合理的时间范围内移动并解决Rubik的多维数据集(3 * 3 * 3)(例如,在您的计算机上最多5秒,而最多移动1000秒)。 输入的格式为: UF UR UB UL DF DR DB DL FR FL BR BL UFR URB UBL ULF DRF DFL DLB DBR (此特定输入表示已解决的多维数据集)。 前12个2个字符的字符串是UF,UR,... BL位置中的边(U =上,F =前,R =右,B =后,L =左,D =下),然后是下8个3个字符的字符串是UFR,URB,... DBR位置中的角。 输出应以这种格式给出一系列移动: D+ L2 U+ F+ D+ L+ D+ F+ U- F+ 其中D1或D +代表将D(下)面顺时针旋转90度,L2代表将L面旋转180度,U3或U-代表将U面逆时针旋转90度。 字母不区分大小写,空格是可选的。 …

13
打高尔夫球
使用2种您所选择的语言,写的最小的“相互奎因 ”就可以了。 即,用语言A编写程序P,以语言B输出程序Q的源代码,以使程序Q的输出与P的源代码相同。 空文件不计,“读取源文件并打印”样式的程序也不计。 编辑: P = Q的答案不再计数。

17
重叠多面体
与许多C&R挑战不同,这不需要单独的强盗岗位。强盗的目标是破解先前的答案,然后发布新的答案作为警察。 作为回答者,您将编写一系列看起来像这样的多语种(每列都是一种语言,并且每个条目都是该语言的答案的输出): Language: 1 2 3 4 5 6 7 8 ... Answer 1: 0 1 2 Answer 2: 1 2 3 Answer 3: 2 3 4 Answer 4: 3 4 5 Answer 5: 4 5 6 Answer 6: 5 6 7 ... (空格表示在这种情况下不需要任何行为)。 每个答案应在3种语言的工作和打印3个不同的连续的数字,它们分别一个超过由先前答案打印的数字(第一个答案打印0,1和2)。每个答案都使用先前提交的两种语言和第三种新语言。答题者应尝试混淆这种第三语言是什么。 要发布新答案,您应该: 通过找到第三语言来破解最新的答案。 最好为您的裂缝添加说明,并将答案通知发布者。提交文件被破解后,最好也添加一个解释。 编写由该答案的第二和第三种语言以及您选择的另一种语言组成的多语种。显示您的前两种语言,但不要显示您的新语言。找到该语言(或它使用的任何其他语言)将是下一个发布者的目标,因此您应该尝试对其进行混淆。 技术指标 …

30
等等,这是什么语言?
最近,我很高兴编写了一个Haskell程序,该程序可以检测到NegativeLiterals扩展是否被使用。我想出了以下几点: data B=B{u::Integer} instance Num B where{fromInteger=B;negate _=B 1} main=print$1==u(-1) 在线尝试! 它将True正常打印,False否则打印。 现在,我的工作非常有趣,我将挑战扩展到了所有人。您还可以破解其他哪些Haskell语言扩展? 规则 要破解特定的语言扩展,您必须编写一个Haskell程序,该程序可以同时编译有无语言扩展(警告很好),并在使用该语言扩展运行并关闭时输出两个不同的非错误值(通过将No前缀添加到语言扩展)。这样,上面的代码可以简化为: data B=B{u::Integer} instance Num B where{fromInteger=B;negate _=B 1} main=print$u(-1) 打印1和-1。 您用来破解扩展程序的任何方法都必须特定于该扩展程序。如果不允许的话,可能有一些方法可以任意检测启用了哪些编译器标志或LanguageExtensions。您可以启用其他语言扩展或更改编译器优化-O,而无需花费任何字节数。 语言扩展 你无法破解任何语言扩展,没有一个No对应物(例如Haskell98,Haskell2010,Unsafe,Trustworthy,Safe),因为这些不属于上文所列的条款。所有其他语言扩展都是公平的游戏。 计分 您是第一个破解的人,每种语言扩展都会获得一分,而您破解最短(以字节为单位)的每种语言扩展将获得一分。对于第二点,将打破联系以支持较早的提交。分数越高越好 您将无法为首次提交打分,NegativeLiterals或者QuasiQuotes因为我已经破解了它们并将其包含在帖子正文中。但是,您将能够在每一个裂缝中得分最短的地方得分。这是我的裂缝QuasiQuotes import Text.Heredoc main=print[here|here<-""] -- |] 在线尝试!

5
克服集群规模
厌倦了闪存的可靠性,您决定将所有程序存储在这些旧的1,440 KiB软盘之一中。但是,即使复制不到3,000个程序,磁盘也已满。那怎么可能呢?就像您一样,精通代码高尔夫球技术,大多数程序甚至都没有100字节长,因此应该留有足够的空间... 在“超级用户”上查询该文件后,您发现文件系统的群集大小使您感到困惑,这是FAT12设计人员的恶作剧,使您的软盘中的大部分未被使用,并迫使您购买超出实际需要的容量。 买更多的软盘?决不!如果我们仅将多个程序保存在一个文件中,则群集大小将不再是一个问题,这是可能的,因为对于相同的源代码,不同的编译器/解释器的行为将有所不同。 任务 编写一个适合单个群集(小于或等于512个字节)的多语种,并尽可能解决以下许多任务。 串 读取所有输入并打印。 打印您好,世界!。 读取一行/参数(name)作为输入,并打印生日快乐[name]!。 阅读所有输入并打印我爱的标签!如果它包含一个或多个制表符(0x09),并且我讨厌空格!如果没有。 读取两行/参数,如果第二行是第一行的子字符串,则打印真实值,否则输出虚假值。 读取一行/自变量,如果字符严格按升序打印,则输出真实值;否则,输出虚假值。 读取行/参数和一个字符,并打印该字符所有出现的索引。 读取一行/自变量并打印出现次数最多的任何字符。 数学 读取两个介于0和255之间的整数,并打印它们的总和。 读取0到255之间的单个整数,并打印除以7的商和余数。 读取一个介于1到255之间的整数,如果它是一个复合数字(既不是1也不是素数),则输出一个真实值,如果不是,则输出一个虚假值。 读取一个介于1到255之间的整数,如果它是2的幂,则打印一个真实值,如果不是,则打印一个虚假值。 读取0到255之间的两个整数,并打印较大的整数。 读取介于0到255之间的十进制整数,打印其十六进制表示形式。 读取0到255之间的单个整数并打印其汉明权重(1位的数量)。 读取1到13之间的单个整数n并打印F n,第n 个斐波那契数。 例如,对于输入13,print 233。 艺术 读取一行输入/参数并对其进行构图。 例如,对于input Programming Puzzles & Code Golf,输出: +---------------------------------+ | Programming Puzzles & Code Golf | +---------------------------------+ 读取一个矩形的字符块并将其顺时针旋转四分之一圈。 例如,对于输入 tye xll epb …

20
写一个聚喹
聚喹啉既是奎宁又是多色。1您将写一个至少在两种不同语言中有效的藜。这是代码高尔夫球,因此最短的答案(以字节为单位)获胜。 1我弥补了。确切地说,Geobits做到了。显然,他也不是第一个。 规则 仅接受真正的奎因。也就是说,您需要将整个源代码原样打印到STDOUT,而无需: 直接或间接阅读您的源代码。 依靠REPL环境,该环境仅评估并打印您提供给它的每个表达式。 依靠在某些情况下仅能打印出源代码的语言功能。 使用错误消息或STDERR编写全部或部分的藜。(您可以将内容写到STDERR或产生警告/非致命错误,只要STDOUT是有效的Quine,并且错误消息不属于其中即可。) 此外,您的代码必须包含字符串文字。 多语规则 所使用的两种语言必须明显不同。特别是: 它们不能是同一语言的不同版本(例如,Python 2与Python 3)。 它们不能是同一语言的不同方言(例如Pascal与Delphi)。 一种语言可能不是另一种语言的子集(例如C与C ++)。

7
三个多义词,两个句点,两个奎因和一个密码高尔夫球挑战
产生一个程序A,以便以语言A运行它会产生程序B,而以语言B运行程序A会产生程序C。 以语言B运行时,程序B生成程序A,以语言A运行程序B时生成程序C。 程序C以语言A或语言B运行时,输出“语言错误!”。 Program | Language | Result --------|----------|---------- A | A | Program B B | B | Program A A | B | Program C B | A | Program C C | A | "Wrong language!" C | B | "Wrong language!" 您的答案应使用以下模板: 语言A /语言B,{a字节} + {b字节} …

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.