Questions tagged «popularity-contest»

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

21
将您的英语源代码翻译成外语[关闭]
我注意到,基于英语的计算机语言数量不成比例。我建议通过将现有的计算机语言翻译成外语来解决此问题! 选择一种使用英语关键字/功能的计算机语言 选择英语以外的任何自然*语言 编写一个程序,将其自身的源代码或使用相同关键字/函数子集编写的任何其他程序翻译成其他语言 发布源代码和输出(翻译后的代码) 用以下内容开始您的帖子: 法语BASIC 要么 BASIC,法语-FONDAMENTAL 如果不想,您不必翻译语言名称,这只是为了好玩! 您不必翻译所选语言中的所有关键字/功能,只需翻译您在源代码中实际使用的关键字/功能即可。例如,PHP有成千上万,因此您绝对不需要全部翻译!另外,如果您有任何意见,也请尽力翻译!程序完成后,除非适用于外语的英语单词不应该被识别。字符串中的单词也应该翻译(这意味着翻译后的程序即使可以运行,也不再能在英语源代码上运行!)。希望您的程序对说另一种语言的程序员有某种意义! 例如,if () {} elseif () {} else {}可能会变成si () {} sinonsi () {} sinon {}法文!如果您将Perl的翻译elsif成法文,也许您会n像e用英语将第二个单词放在第二个单词一样丢弃第二个单词sinosi。在法国其他更可能是他者,但替代兴农(或者,否则)感觉更好的给我! 有创造力!尝试捕捉计算机和自然语言的感觉!没有英语标记的语言如Brainfuck,CJam等将无法使用。像BASIC或COBOL之类的语言更合适。除非您的语言不支持可以是英语单词的变量名,否则请使用有意义的变量名并进行翻译。 您可以发布多个答案,每个答案对应一种计算机/自然语言。您不得使用库或外部工具进行翻译!您的代码应自行翻译,而不要调用其他可以翻译的内容!这不是Code Golf!如果您的程序接受任何输入,则只能是其自己的源代码,如果它是从光盘中读取的,则只能是源文件,等等。 *就此挑战而言,我将世界语,洛伊班语,Volapük,Interlingua等视为自然语言。您可能没有为这项挑战发明自己的语言! 我添加了一条规则来防止显眼的提篮。您可以选择关键字/功能的任何子集(甚至全部)进行翻译。您的程序必须至少能够翻译自己,即,如果您的原始来源中包含单词,print那么print(42)在输入代码中添加任何位置(而不是您的程序本身)仍将产生正确的结果。 例如: function translate() { ... } print(translate()); 可能成为 fonction traduire() { ... } imprimer(traduire()); 如果输入更改为 print(42); function translate() { …

30
99瓶啤酒[关闭]
在墙上重新创建“ 99瓶啤酒”。 所需的输出是这样的: 99 bottles of beer on the wall, 99 bottles of beer. Take one down and pass it around, 98 bottles of beer on the wall. 98 bottles of beer on the wall, 98 bottles of beer. Take one down and pass it around, 97 bottles of beer …

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/

30
句中的阶乘!
任务 创建一个不使用内置阶乘函数来计算数字阶乘的程序。简单?要注意的是,您必须以haiku形式编写整个程序(包括对其进行测试)。 您可以根据需要使用任意多个句,但是在发音时,它们必须遵循5-7-5音节格式。 计分 这是一场人气竞赛,因此您必须获得最多的投票才能获胜。您的程序必须至少包含一个完整的句,并且所有句必须完整。 读取代码时,每个句的第一行将有5个音节,第二行将有7个,第三行将有5个。

10
小钱德勒很伤心。画他的云,使他振作起来
小钱德勒很伤心。画他的云使他振作起来。 注意:画云实际上不会使他振作起来。 圆可以定义为三元组(x,y,r),其中x是圆在笛卡尔平面上的x位置,是圆在笛卡尔平面y上的y位置以及圆r的半径。x并y可能是负面的。r永远是积极的。输入是以空格分隔的三元组形式的圆的列表。例如: 3,1,1 3,2,1.5 1,2,0.7 0.9,1.2,1.2 1,0,0.8 的3,1,1意思是“在与中心点的圆3,1与1个半径。3,2,1.5是指”在与中心点的圆3,2用1.5半径。 如果我们在图形上绘制输入的所有这些圆,则看起来像这样(我仅出于清晰起见添加了网格线和标签;它们不是必需的): 注意所有的圆是如何凝聚的。也就是说,它们全部重叠在一起,从而形成一个大的组,而没有其他的小圈子。输入保证是内聚的。 假设现在绘制一条绕这些圆形成的“边界”行进的线,而没有其他任何线。就像绘制所有圆组成的轮廓的边界一样。生成的云看起来像这样: 因此,仅通过在输入中绘制形成边界的圆弧来形成单一形状即可形成此云。换句话说,仅通过绘制不在另一个圆内的圆弧来形成云。您的程序将以上述形式接受输入,并输出显示结果云的图像。云的整体形状必须正确,但是比例,颜色,线条粗细以及在顶点处的外观取决于您。请注意,云必须是可见的,因此您不能拉出类似“此程序在白色背景上绘制白色云”,“此程序以无限小的比例绘制云”,“此程序以0绘制云”之类的内容。线宽”等。还请注意,边框的颜色必须与填充或背景的颜色不同。 另一个例子。输入: 1,4,2 5,2,1 3,1,1 3.5,2,1.2 3,3,0.7 1,2,0.7 输出: 如果云中存在“洞”,则也应绘制该洞。输入: 0,5,4 3,4,4 4,3,4 5,0,4 4,-3,4 3,-4,4 0,-5,4 -3,-4,4 -4,-3,4 -5,0,4 -4,3,4 -3,4,4 输出: 这是一条重要规则:您的程序必须仅绘制形成边框的线。这意味着您不能简单地完全绘制圆,然后用白色填充将圆绘制得稍小一些,因为该方法仍会绘制不形成边界的线,之后只会将其覆盖。该规则的目的是防止“绘制圆,然后用白色填充再次绘制圆”的实现或类似的方法。预计答案将在绘制之前实际计算出绘制对象的位置。 这是代码高尔夫球,因此最短的字符数获胜。

9
xkcd挑战:“ [x]彩色屏幕的百分比”
所以我想我们所有人都可能看过这个xkcd漫画: : 我不确定这可能太笼统或太难了。但是挑战在于用任何一种语言创建一个程序,该程序将创建一个窗口,该窗口至少具有两种颜色,并用英语显示每种颜色在屏幕上所占的百分比。 例如 最简单的解决方案是在白色背景上写上黑色字母,上面写着“此图像的百分比为黑色:[x]%。此图像的百分比为白色:[y]%” 您可以根据自己的意愿去疯狂或简单;纯文本是一种有效的解决方案,但如果您制作有趣的图像(如xkcd漫画中的图像),那就更好了!获胜者将是获得最多选票的最有趣和最具创造力的解决方案。因此,继续做一些有趣的事,值得xkcd!:) 所以你怎么看?听起来像是一个有趣的挑战?:) 请在答案中包含正在运行的程序的屏幕截图:)

6
按数字绘画(使用编程,而不是数字)
您的任务是创建一个程序,该程序采用黑白轮廓图像(下面是示例图像)并用彩色填充。取决于您如何划分每个区域以及用哪种颜色填充(您甚至可以使用RNG)。 例如: 如您所见,在涉及MS Paint时,我显然是高级人才。 计分 这是一次人气竞赛,因此以最多净票数赢得答案。鼓励选民通过以下方式判断答案 输入标准:任何包含白色/浅灰色背景和黑色/深灰色轮廓的图像 着色效果如何;表示与上述区域不同的是很少或没有白色区域(除非您显然打算使用白色区域,例如用于云层) 某些部分使用的颜色的可定制性 系统在一系列不同图像(细节不同)上的工作情况 发布您的程序每个图像花费多长时间。我们可能不喜欢打代码,但是较短,更快和更高效的代码应该被认为是更好的代码 应该将新图像输出到屏幕上或文件中(不大于2MB,以便可以在答案中显示) 请说明为什么选择输出为该图像类型并注释/解释代码的工作原理 适用于所绑定的各种形状的颜色(逼真的配色方案,例如草为绿色,木栅栏为棕色等) “我可以为每个区域随机着色,但是如果我能识别出“围栏”并使其具有相似的颜色,那是值得赞扬的东西。” -内森·梅里尔 鉴于这是一次人气竞赛,您还可以选择通过以下方式进行判断: 总体吸引力(图像看起来有多好) 艺术天赋;如果您可以使用阴影或水彩风格的着色等进行编程 通常,以斋戒的程序和最高的公众投票会获得最高质量的最小输出图像(文件大小)。 如果您认为应该使用其他判断规范,请在本文的评论中推荐它们。 例子 我什么都不拥有;所有示例图片均具有知识共享许可。 来源:https : //pixabay.com/ro/stejar-arbore-schi%C5%A3%C4%83-natura-303890/ 来源:http: //www.freestockphotos.biz/stockphoto/10665来源:http:// /crystal-rose1981.deviantart.com/art/Dragon-Tattoo-Outline-167320011 来源:http://jaclynonacloudlines.deviantart.com/art/Gryphon-Lines-PF-273195317 来源:http://captaincyprus.deviantart.com /艺术/龙轮廓-331748686 来源:http://electric-meat.deviantart.com/art/A-Heroes-Farewell-280271639 来源:http://movillefacepalmplz.deviantart.com/art/Background-The-Pumpkin农场的美好时光342865938 编辑:由于行上的抗锯齿导致非黑色/白色像素和一些可能包含灰色而不是黑色/白色的图像,因此,您可以尝试应对这种挑战。我认为这应该很容易。

30
你能告诉我时间吗?[关闭]
您知道您的语言的时钟/时间API已损坏,并且根本不可靠。 因此,不允许您使用任何内置的API访问系统时间/日期。 但是,您也知道您的语言执行日期数学运算并将日期/时间值保留在变量中的能力是正确的。 编写一个可打印当前日期/时间而不调用任何日期/时间/时钟API的程序。例如DateTime.Now,GetDate()和类似的功能是不允许的。 多数投票的答案是成功的。 如果是平局,则以更精确的答案为准(即,精确到秒,然后是毫秒,然后是微秒,依此类推)。

29
产生易于理解的句子
问题: 生成一个可以阅读和理解的句子。它必须包含一个主语,动词和宾语,并且时态和复数必须匹配。该程序还必须能够生成几个不同的句子以符合条件。 规则: 不允许对句子进行硬编码,也不能直接从文件中读取它们(我在看着你,很顺利) 您可以有任意数量的单词列表 提交由您的程序生成的示例句子或2 接受任何语言 这是一场人气竞赛,因此最受好评的答案胜出

21
向编程语言添加功能
您的任务是通过实现一个非常聪明的库,或者通过处理输入文本和/或调整编译过程,将特征附加到编程语言上。 想法: 将PHP样式的演示文稿添加到C中(例如 <?c printf("Hello,"); ?> world!)。 添加一个空合并运算符到非C#的一种语言中。 将宏添加到PHP。 加 goto到JavaScript。 将模式匹配添加到语言X。 将名称空间支持添加到没有语言支持的语言中。 使C看起来像PHP。 使Haskell看起来像Pascal。 ...(可在评论部分中发表想法) 规则: 把东西拿到桌上。不要只说“ Template Haskell”即可向Haskell添加元编程功能。这不是StackOverflow。 整个实现应该适合一个屏幕(不包括示例)。 不要将代码托管在专门用于此任务的外部站点上。 最令人印象深刻或令人惊讶的功能获胜。 不必担心100%正确地实现该功能。离得很远!主要的挑战是弄清楚您想做什么,并恶毒地砍掉细节,直到计划好的工作变得可行。 例: 向C编程语言添加一个lambda运算符。 初始方法: 好的,我知道我想使用libgc,以便我的lambda可以解决向上和向下的funarg问题。我想我需要做的第一件事是为C编程语言编写/查找一个解析器,然后我需要学习有关C的类型系统的所有知识。就类型而言,我必须弄清楚如何理解它。我需要实现类型推断,还是只需要按照给定的形式键入形式参数?CI中所有不知道的疯狂功能怎么办? 很明显,在C中正确实现lambda是一项艰巨的任务。忘记正确性!简化,简化。 更好: 向上拧螺丝,谁需要它们?使用GNU C的嵌套函数和语句表达式,我也许可以做一些棘手的事情。我想用简洁的hacky代码展示C语言上惊人的语法转换,但是我什至不需要解析器。那可以等待另一天。 结果(需要GCC): #include <stdio.h> #include <stdlib.h> #define lambda(d,e)({d;typeof(e)f(d){return(e);};f;}) #define map(F,A)({typeof(F)f=(F);typeof(*(A))*a=(A);({int i,l=((int*)(a))[-1]; \ typeof(f(*a))*r=(void*)((char*)malloc(sizeof(int)+l*sizeof(*r))+sizeof(int)); \ ((int*)r)[-1]=l;for(i=0;i<l;i++)r[i]=f(a[i]);r;});}) #define convert_to(T) lambda(T x, …

7
胶带可以修复母亲节
基于Duct磁带,可以解决任何问题,这些问题过于广泛,使用非常相似的规则。仅这次,目标非常明确: 挑战 您的任务是制作一个可以显示的程序hello mom-无需编写任何代码。 在StackOverflow的问题和答案中,您只能使用已经为您编写的代码。您所能做的就是用胶带尽力而为。当然,我们必须提供适当的归属,以免权利被终止,这一点非常重要。 规则 您必须包含指向您在答案中使用的问题/答案的链接。 您不能修改找到的代码,但以下情况除外: 一种。您可以重命名变量,函数和方法。(这并不意味着你可以改变一个方法调用,通过改变,说scanner.nextInt()要scanner.nextLine()和声称您更改的方法名。改变必须在定义或引用同一实体)。如果将变量,函数或方法再次重命名,则该解决方案仍然可以使用,因此重命名要包含hello mom为变量名的代码不起作用。 b。您可以适当地调整缩进。 C。您可以假定已加载适当的模块以使代码段正常工作。(例如,import用于Java和Python的using语句,用于C#和C ++的语句以及所有语言的等效项)如果代码段中包含imports,则可以将其移至代码顶部。 d。如果语言要求代码在某种方法体内执行(例如,public static void main(String[] args)对于Java,static int Main(string[] args)对于C#等),则可以将代码包装在适当的方法中。但是该主要方法的内容必须保持不变。 您必须提供所执行的任何变量/方法/函数/类重命名的明确列表。 您不能接受片段摘要(这意味着,如果您从帖子中获取代码块,则整个过程都将完成) 为不熟悉您所用语言的人提供代码的简要说明。 您必须使用此挑战开始之前发布的摘要。 人气比赛,所以最投票获胜! 最后期限 我将接受在母亲节结束时(UTC-11时区的午夜)获得最多投票的意见书,但以后的意见书仍然可以投票。

30
创建内存泄漏,没有任何前叉炸弹
您的任务是创建内存泄漏。这是一个使用内存负载的程序,直到计算机用完为止,并且必须进行一些交换以使其自身免于耗尽。释放内存的唯一方法是在任务管理器中终止程序,或使用命令行终止taskkill /im yourprogram /f(例如,在Windows中),甚至重新启动计算机。仅关闭应用程序不应阻止它继续消耗内存。 规则: 禁止使用任何形式的叉弹。这意味着臭名昭著的Bash线:(){ :|:&};:被禁止! 该应用程序只能是单线程的。这意味着叉炸弹规则。 该程序不得运行其他程序。这意味着您不能只做类似的事情run(memoryfiller.exe)。唯一的例外是与您的操作系统或语言捆绑在一起的程序,这些程序并非主要用于消耗内存(即,它们还有其他用途)。这意味着喜欢cat和ln -s允许的事情。 您可以占用尽可能多的内存。越多越好。 代码必须完整说明。 祝好运。这是一场人气竞赛,因此自要求日期起10天后获得最多投票的代码将获胜!

19
改进硬件随机数生成器
您的任务是使用您所使用的任何硬件即兴使用硬件随机数生成器。 挑战 编写具有以下属性的程序: 它会打印0或1(或仅打印其他内容)。 输出取决于物理过程,而不仅取决于计算机的内部状态。 后续运行的输出(相隔一分钟)之间没有关系。 任何现实的努力都无法预测输出。 输出的概率0在0.2到0.8之间。 它在不到一分钟的时间内运行的可能性相当高。 您必须说明为什么程序不具有这些属性(如果不明显)。 澄清和限制 以下内容似乎对流行性竞赛有很多限制,但最终只能确保程序保持在问题的实质范围内,在一定程度上可行,并避免由于完全过高而普遍使用的解决方案,但最终我宁愿无聊的待着。 系统时间不算作物理过程。 您可以使用任何喜欢的消费级硬件,从8英寸的软盘驱动器到USB火箭发射器再到耳机-除非用于随机数生成。如果一件硬件是批量生产的,且成本低于1000美元/€/£ ,则它是消费级的,因此您不能使用射电望远镜,CERN,MRI或家用粒子探测器。 您只能对硬件的状态和对齐方式做出最基本的假设,例如打开电源(如果有电源开关)以及正确安装和运行。例如,您可以假定CD驱动器通常能够读取磁盘并且不会被阻塞,但是您不能假定CD驱动器可以打开或关闭或包含磁盘。在另一个示例中,您不能假设要对齐两个硬件以进行特殊的交互,但是可以假设它们在同一个房间中。 除非破坏硬件,否则您可以使其处于任何状态。 您可以并且必须假定硬件在自然环境中,但仅此而已。例如,您可以假定硬件未放置在液态氦的储罐中,既不隔音又不透光的房间中也不不在空间中。但是,您不能假定存在任何声音和光源,除非那些声音和光源只能通过激进的努力才能避免。 您的程序必须在具有您选择的非神秘操作系统的标准台式计算机上运行。您可以使用任何不是专门为随机数生成设计的软件。 您不能假设可以访问Internet。 您不能假设没有人在场,但是您可以假设没有人有意干扰您的程序,例如,通过手动停止风扇或运行一个程序,该程序除了尽可能多地关闭麦克风外什么也不做。 您只能对软件设置做出最基本的假设。例如,您可以假定要安装和激活驱动程序,但必须准备使声音静音。 您可以根据需要将软件设置保持为任何状态。 奖金 一项特别短暂的解决方案被授予特别赏金。确切地说,它是通过指令的数量而不是字符来实现的。获奖者是(按照我的标准并列): 弗兰基的这个答案。 Tejas Kale的答案。 我只能授予一个答案,而Tejas Kale的答案却很幸运。

18
该程序将所有自然数相加并产生-1/12的结果[关闭]
如您所知,有一个数学上的事实,即如果将所有自然数相加,最终将得到... -1/12 (请参阅Wikipedia此处)。 当然,这是一个非常奇怪的结果,不能仅通过在一个数字后面加上另一个数字而获得,而是一些特殊的数学技巧。 但是,您的任务是编写一个程序,该程序看起来像尝试将所有自然数相加,但是在您运行该程序时-它返回-1/12。 在伪代码中,它可能看起来像这样: result = 0; counter = 1; while(true) { result += counter; counter ++; } println(result); 您可以按照自己喜欢的任何方式执行此操作-您可以利用缓冲区溢出,在某些变量变得太大时处理抛出的错误,或者以某种巧妙的方式隐藏代码中的关键内容。唯一的条件是,代码在开始时看起来应该像试图加所有自然数一样,并且在运行时返回-1/12(以任何格式,可能是十进制,二进制,文本,ascii art等)。 该代码当然可以包含比上面显示的更多的内容,但是应该足够清楚,以愚弄读者。 这是人气竞赛-投票选出最聪明的主意!

30
避免邪恶的整数![关闭]
您正在开发一些代码以生成ID号。策略要求ID号不包括数字序列666。 创建一个函数(或与您的语言等效的函数),该函数带有一个正整数参数,并在该整数以十进制表示时返回不包含666的下一个整数。(60606可以,但66600可以。) 您的代码在找到符合规则的结果之前,不得使用加一的循环。 f(1) returns 2. f(665) returns 667. f(665999999) returns 667000000 without having looped a million times. (Following examples added since the question was first posed.) f(666666666) also returns 667000000. f(66600) returns 66700. f(456667) returns 456670. 更新: 如果输入中有多个666,则用667代替666无效。

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.