Questions tagged «popularity-contest»

人气竞赛是一项竞赛,其中得分最高的投票(赞成票减去反对票)获胜。由于这些标签经常关闭,请阅读标签信息,然后将您的挑战发布到沙盒中。

13
模拟Intel 8086 CPU
注意:有几个答案。也可以考虑更新较新的答案。 来自happy5214的常见Lisp C从luser droog NeatMonster的Java crempp中的Javascript 来自Mike C的C Darius Goad的C ++ luser droog的后记 JoeFish的C ++ 完全主观的Javascript 来自RichTX的C Dave C的C ++ JB的Haskell 来自ja的Python 该8086是英特尔的第一款x86微处理器。您的任务是为其编写一个仿真器。由于这是相对高级的,因此我想限制一下: 仅需要实现以下操作码: mov,push,pop,xchg 加,adc,sub,sbb,cmp和或xor 十二月 通话,回复,跳转 jb,jz,jbe,js,jnb,jnz,jnbe,jns stc,clc 暂停 结果,您只需要计算进位,零和符号标志 不要实施细分。假设cs = ds = ss = 0。 无前缀 没有任何中断或端口IO 没有字符串功能 没有两字节的操作码(0F ..) 无浮点运算 (显然)没有sse,mmx等32位内容... 1979年尚未发明的任何东西 您不必计算周期或执行任何计时 以ip = …

30
产生堆栈溢出的最奇怪的方法
作为程序员,您当然知道由于明显的递归而导致的堆栈溢出错误。但是,当然有很多怪异和不寻常的方法可以使您喜欢的语言吐出该错误。 目标: 必须引起堆栈溢出,该堆栈溢出在错误输出中清晰可见。 不允许使用明显的递归。 无效程序的示例: // Invalid, direct obvious recursion. methodA(){ methodA(); } // Invalid, indirect, but obvious recursion. methodA(){ methodB(); } methodB(){ methodA(); } 最有创意的方式是最好的,因为这是一场人气比赛。也就是说,避免无聊的答案是这样的: throw new StackOverflowError(); // Valid, but very boring and downvote-deserving. 即使我现在接受了答案,也可以添加更多答案:)

28
使用堆栈片段使将来的帖子可在线运行
堆栈片段中最近加入PPCG!让人想起JSFiddle,堆栈片段允许直接在帖子中运行HTML,CSS和JavaScript ! 这是一个非常简单的堆栈片段: alert('This is JavaScript') h3 { color: red } /* This is CSS */ <h3>This is HTML</h3> 运行代码段隐藏结果展开摘要 如果支持JavaScript以外的语言,Stack Exchange的此功能对我们非常有用。(可以现场测试挑战的答案,可以动态生成示例输入,等等)。 挑战 这项挑战的目标是使用Stack Snippets和JavaScript为某些编程语言编写解释器。关键是要做出可以轻松复制并在以后的PPCG问题和答案中使用的内容。 或多或少,您需要创建一个具有“运行”按钮和两个文本框的堆栈片段,一个用于代码,一个用于输入。单击运行按钮将在输入上执行代码(以您解释的语言编写)并显示结果(可能在另一个文本框中)。该代码段应类似于cjam.aditsu.net或示例答案。 对于大多数语言,输入和输出分别代表stdin和sdout有意义,并且命令行中可能还有另一个输入框。但是,并非所有语言都具有这种传统的I / O机制。例如,HQ9 +甚至没有输入,因此它的文本框毫无意义。因此,可以自由选择一些自由语言,围绕语言进行设计,而不是遵循此规范。主要要求是您的语言应在堆栈摘录中以该术语的公认含义“可运行”。 笔记 尽管理想,但不需要实现语言的每个功能。诸如读取和写入文件或导入库之类的事情可能是笨拙的或不可能的。专注于使此网站上使用的实用程序最大化的解释器。 将您未编写的“ X语言到JavaScript语言”解释器发布(可以使用归因)是可以的。 Stack Exchange将答案限制为30,000个字符,因此,如果您的解释器可能很长,请相应地计划。 最好使翻译版本尽可能容易地包含在以后的帖子中。例如,在示例答案中,提供了整个代码段的原始Markdown,并提供了放置代码和输入的明显位置。 尽管此问题旨在使口译人员更胜一筹,而不是一个适当的挑战,但它仍然是一场流行竞赛,因此,票数最高的答案将获胜。 当前口译员清单 (按语言名称按字母顺序排序) 光束 Befunge-93 脑干 脑干 CHIQRSX9 + 死鱼 死鱼(仅运行预设代码) 傅里叶 FRACTRAN …

30
编写一个始终输出“ 2012”的程序-即使已修改!
这个想法不是我的,尽管我不知道它的起源。很久以前(1998年,如果我没记错的话),我曾经在一次编程竞赛中遇到过它。任务是用您喜欢的语言编写一个2012 仅 输出的程序2012。值得注意的是,程序的2012任何一个字符被修改后,仍然必须输出。修改可以是插入,删除或替换。当然,修改将使该程序在语法上仍然有效。 由于我不懂所有的编程语言,因此我必须请听众帮助我并测试提交的答案。 补充:许多人评论说我对可接受修改的定义太模糊。这是我的第二次尝试:允许的修改将使您的程序在语法上仍然有效,并且不会导致程序崩溃。在那里,我认为应该涵盖所有编译时,链接时和运行时错误。尽管我确信无论如何某种语言都会出现一些奇怪的情况,所以当出现这种情况时,我们将逐一进行研究。

10
修补图像
在一种流行的图像编辑软件还有一个特点,即补丁(在图像处理中使用的术语被补绘为@mınxomaτ指出。)中的图像的选择区域,基于所述信息以外该补丁。考虑到它只是一个程序,它做得很好。作为人类,您有时会发现有些问题,但是如果您挤眼睛或只是瞥了一眼,该补丁似乎可以很好地填补空白。 挑战 给定图像和用于指定图像矩形区域的遮罩(也可以作为图像或其他任何首选格式)进行修补,您的程序应尝试用修补程序填充指定区域,该修补程序试图与其余部分融合图片。程序无法使用指定区域内的原始图像信息。 您可以假设补丁始终至少与侧面的宽度相等,并且距图像的顶部和底部的高度至少相等。这意味着补丁的最大面积是整个图像的1/9。 请简要说明您的算法如何工作。 表决 要求选民判断算法的性能如何,并进行相应的投票。 有关如何判断的一些建议:(再次感谢@mınxomaτ提供更多标准。) 如果您起眼睛,画面看起来还好吗? 您能准确说出补丁在哪里吗? 图像背景和周围区域的结构和纹理的延续程度如何? 编辑区域包含多少个杂散伪彩色像素? 该区域中是否存在似乎不属于该区域的颜色均匀的斑点/块? 与图像的其余部分相比,编辑区域是否有剧烈的色彩/对比度或亮度偏移? 有效性标准 为了使提交有效,输出图像必须与指定区域之外的输入图像完全匹配。 测试用例 在源图像的左侧,在右侧的对应蒙版:

7
显然,P = NP [关闭]
SAT是确定布尔表达式是否可以设为真的问题。例如,可以通过设置A = TRUE来使(A)为真,但是(A &&!A)永远不会为真。已知此问题是NP完全的。请参阅布尔可满足性。 您的任务是编写一个在多项式时间内执行的SAT程序,但可能无法解决所有情况。 对于某些示例,它不是真正的多项式的原因可能是: 有一个边缘情况不明显,但运行时很差 在某些意外情况下,该算法实际上无法解决问题 您正在使用的编程语言的某些功能实际上具有比您合理预期的更长的运行时间 您的代码实际上所做的事情与看上去的完全不同 您可以使用所需的任何编程语言(或多种语言的组合)。您无需提供算法复杂性的正式证明,但至少应提供一个解释。 判断的主要标准应该是代码的说服力。 这是一次人气竞赛,因此一周内获得最高评分的答案将获胜。

30
实际上不是随机的随机脚本
在办公室里有个小玩笑,有人想要一个脚本,随意选择一个名字,然后说这个人会喝一杯。 我们称他们为约翰,杰夫,艾玛,史蒂夫和朱莉。 我认为制作一个看上去一眼便是随机的脚本却很有趣,但实际上却总是将输出作为同一个人(取决于您选择的人)。 一周后投票得票率最高 最终获胜者是.... 保罗·R(目前)158票。 这里的答案很好,如果其他人有其他想法尚未发布,请添加它们,我喜欢阅读它们。

30
出错了!
您面临的挑战:为您选择的语言编写一个“程序”,使编译器/解释器/运行时在编译/运行程序时产生错误输出,该输出与程序的源代码相同。 规则: 您的程序可能特定于语言的编译器/解释器/运行时环境的特定版本或实现。如果是这样,请详细说明。 仅允许使用标准的编译器/解释器/运行时选项。您不能将一些奇怪的标志传递给编译器以获取特定的结果。 该方案也并不需要在语法语义上还是有效的,但我可以给赏金以最好的语法有效的提交。 该程序不得产生自己的任何输出(例如,通过调用打印或输出函数)。尝试编译/运行程序时生成的所有输出必须源自编译器/解释器/运行时。 编译器/解释器/运行时的完整输出必须与程序源代码完全相同。 用程序调用时,编译器/解释器/运行时必须至少生成一条错误消息。 这是一次人气竞赛。由投票决定的最有创意的答案将获胜。如果您可以为使用标准漏洞提供一个很好的理由,则可以这样做。

30
向后执行打印
您的任务是颠倒某些prints命令的执行顺序。 规格: 您的代码将采用以下形式: //some lines of code /*code*/ print "Line1" /*code*/ /*code*/ print "Line2" /*code*/ /*code*/ print "Line3" /*code*/ /*code*/ print "Line4" /*code*/ //some lines of code 您必须print(从第四到第一)(或echo,或write,或等效)这些字符串。 您可以决定程序的哪些行必须print使用字符串,但是它们必须相邻; 每行只能包含一个print,并且长度不能超过60个字节; 因为这是一场人气竞赛,所以要有创造力,避免只写一个goto或简单的for(i){if(i=4)print"Line1";if(i=3)...} 2周内获得最高评价的答案将赢得此奖项。 您的输出必须为Line4 Line3 Line2 Line1 OR Line4Line3Line2Line1 OR Line4\nLine3\nLine2\nLine1(其中\n是换行符),并且必须仅通过prints向后执行来生成它。 编码愉快! 更新:比赛结束了!谢谢你们 :)

20
排序列表并写一些英语!
您的老板设法阅读了隐藏的秘密信息。但是,他最终并没有解雇您,只是让您担任秘书,并禁止您编写代码。 但是你是一个程序员。您需要编写代码。您必须编码。 因此,您的代码需要看起来与英语尽可能相似,有意义,并且看起来与代码尽可能少。您的代码应采用整数列表(在函数或STDIN中),并返回排序后的列表(将其返回或STDOUT)。 可以使用任何语言,但是我正在寻找最具创意的解决方案(如果您的代码看起来像是商务信函,则表示敬意)。 这是一次人气比赛!

30
为什么不结束?[关闭]
您的任务:编写一个显然应该终止的程序,但永远不会(在计算机崩溃的情况下)终止。使它看起来像应该执行的简单任务:加号,打印内容,...但是它只是陷入无限循环中。 尝试使您的程序非常清晰和简单,而实际上它会陷入无法预料的循环中。选民:评判他们“多么卑鄙”的答案! 这是一场人气竞赛:有创意!

29
制作可伸缩的圣诞树[关闭]
您的挑战:制作一棵圣诞树。大小必须可以通过某种输入法选择,但不必与树的任何部分直接相关。但是,较大的输入应产生较大的树。 你怎么能做到呢?除了打印树的unicode字符(例如输出图像,ascii艺术以及其他方面的内容等)之外,您还可以按照自己喜欢的任何方式来制作树。无论您做什么,请记住,这是一场人气竞赛,因此有创造力。 到12月底,投票最多的答案将获胜,但如果答案更高,我将接受另一个答案

10
编写未知完整性的编程语言
设计语言时,确定一种语言是否图灵完备非常重要。对于许多深奥的编程语言来说,这也是一项非常艰巨的任务,但让它提高一个等级。让我们编写一些很难证明图灵完备的编程语言,以至于即使世界上最好的数学家也无法以任何一种方式证明它们。您的任务是设计和实现一种语言,其图灵完备性取决于数学中尚未解决的主要问题。 规则 您选择的问题必须至少在10年前提出,并且在发布此问题时必须解决。它可以是任何可证明的数学猜想,而不仅仅是Wikipedia页面上列出的猜想之一。 您必须提供语言规范以及现有语言的实现。 当且仅当猜想成立时,编程语言必须是图灵完整的。(或仅当猜想不成立时) 您必须提供一个证明,以证明根据所选的推测图灵是完整的还是不完整的。在运行解释器或编译程序时,您可能会假设访问了无限制的内存。 由于我们关注图灵完整性,因此不需要I / O,但是目标是制作最有趣的语言,以便它可能会有所帮助。 这是一场人气竞赛,因此赢得最多选票的答案将会赢得。 目标标准 一个好的答案应该做什么?这是投票时要寻找的一些东西,但在技术上不是必需的 它不应该是现有语言的简单补丁。更改现有语言以符合规范是可以的,但是不建议在条件上打补丁,因为这很无聊。正如ais523在第九字节中所说: 我更喜欢使我的esolangs的头更牢固地融入到语言中 作为独立的深奥语言应该很有趣。

30
4,8,15,16,23,42 [关闭]
4,8,15,16,23,42 编写一个程序,该程序可以无限次输出此数字序列。但是,数字一定不能出现在源代码中的任何位置。 以下不是输出数字的有效Java程序,因为数字出现在其源代码中: class TheNumbers { public static void main(String[] args) { for(int n = 0;;) System.out.println( n == 4 ? n = 8 : n == 8 ? n = 15 : n == 15 ? n = 16 : n == 16 ? n = 23 : n …

28
重新排列图像中的像素,使其无法被识别然后重新取回
创建一个程序,该程序可以重新排列图像中的像素,使其无法被识别。但是,您的程序应该能够将其转换回原始图像。 您可以编写两个函数-用于编码和解码,但是反复使用一个函数可以给出原始图像(例如数学运算- f(x) = 1 - x)是一个加分项。 同样在输出中产生某种模式也会带来好处。 如果您的语言支持,则图像可以表示为1D / 2D数组或图像对象。请注意,您只能更改像素顺序! 将逻辑上选择为产生较少可识别图像的优胜者代码是合乎逻辑的,但是我不知道如何精确地测量它,我能想象的所有方法都会被欺骗。因此,我选择此问题为人气竞赛-让用户选择最佳答案! 测试图像1(800 x 422像素): 测试图像2(800 x 480像素): 请提供代码输出图像。

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.