Questions tagged «code-golf»

Code-golf是在最小的源代码字节中解决特定问题的竞赛。

30
输出长度与代码相同
在这个挑战中,您应该编写一个程序或函数,该程序或函数不输入任何内容,并输出或返回一个与程序本身具有相同字节数的字符串。有一些规则: 您只能输出可打印ASCII范围(0x20至0x7E,包括0x20至0x7E)或换行符(0x0A或0x0D)中的字节。 您的代码不得为quine,因此代码和输出必须至少相差一个字节。 您的代码必须至少一个字节长。 如果您的输出包含尾随换行符,则这些是字节数的一部分。 如果您的代码需要非标准命令行标志,请照常对它们进行计数(即,通过将对语言实现的标准调用中的差异加到字节数上),并且输出的长度必须与解决方案的分数相匹配。例如,如果您的程序是ab并且需要非标准标志-n(我们假定它不能与标准标志结合使用,那么它是3个字节),则应该总共输出5个字节。 只要您可以证明每个可能的输出都满足上述要求,输出就不必总是相同的。 通常的奎因规则不适用。您可以阅读源代码或其大小,但我怀疑这会比大多数语言中的硬编码短。 您可以编写程序或函数,并使用提供输出的任何标准方法。请注意,如果您打印结果,则可以选择将其打印到标准输出或标准错误流中,但是只有其中一个计数。 您可以使用任何编程语言,但是请注意,默认情况下,这些漏洞是禁止的。 这是代码高尔夫球,因此以字节为单位的最短有效答案为准。 排行榜 显示代码段 var QUESTION_ID=121056,OVERRIDE_USER=8478;function answersUrl(e){return"https://api.stackexchange.com/2.2/questions/"+QUESTION_ID+"/answers?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+ANSWER_FILTER}function commentUrl(e,s){return"https://api.stackexchange.com/2.2/answers/"+s.join(";")+"/comments?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+COMMENT_FILTER}function getAnswers(){jQuery.ajax({url:answersUrl(answer_page++),method:"get",dataType:"jsonp",crossDomain:!0,success:function(e){answers.push.apply(answers,e.items),answers_hash=[],answer_ids=[],e.items.forEach(function(e){e.comments=[];var s=+e.share_link.match(/\d+/);answer_ids.push(s),answers_hash[s]=e}),e.has_more||(more_answers=!1),comment_page=1,getComments()}})}function getComments(){jQuery.ajax({url:commentUrl(comment_page++,answer_ids),method:"get",dataType:"jsonp",crossDomain:!0,success:function(e){e.items.forEach(function(e){e.owner.user_id===OVERRIDE_USER&&answers_hash[e.post_id].comments.push(e)}),e.has_more?getComments():more_answers?getAnswers():process()}})}function getAuthorName(e){return e.owner.display_name}function process(){var e=[];answers.forEach(function(s){var r=s.body;s.comments.forEach(function(e){OVERRIDE_REG.test(e.body)&&(r="<h1>"+e.body.replace(OVERRIDE_REG,"")+"</h1>")});var a=r.match(SCORE_REG);a&&e.push({user:getAuthorName(s),size:+a[2],language:a[1],link:s.share_link})}),e.sort(function(e,s){var r=e.size,a=s.size;return r-a});var s={},r=1,a=null,n=1;e.forEach(function(e){e.size!=a&&(n=r),a=e.size,++r;var t=jQuery("#answer-template").html();t=t.replace("{{PLACE}}",n+".").replace("{{NAME}}",e.user).replace("{{LANGUAGE}}",e.language).replace("{{SIZE}}",e.size).replace("{{LINK}}",e.link),t=jQuery(t),jQuery("#answers").append(t);var o=e.language;/<a/.test(o)&&(o=jQuery(o).text()),s[o]=s[o]||{lang:e.language,user:e.user,size:e.size,link:e.link}});var t=[];for(var o in s)s.hasOwnProperty(o)&&t.push(s[o]);t.sort(function(e,s){var F=function(a){return a.lang.replace(/<\/?a.*?>/g,"").toLowerCase()},el=F(e),sl=F(s);return el>sl?1:el<sl?-1:0});for(var c=0;c<t.length;++c){var i=jQuery("#language-template").html(),o=t[c];i=i.replace("{{LANGUAGE}}",o.lang).replace("{{NAME}}",o.user).replace("{{SIZE}}",o.size).replace("{{LINK}}",o.link),i=jQuery(i),jQuery("#languages").append(i)}}var ANSWER_FILTER="!t)IWYnsLAZle2tQ3KqrVveCRJfxcRLe",COMMENT_FILTER="!)Q2B_A2kjfAiU78X(md6BoYk",answers=[],answers_hash,answer_ids,answer_page=1,more_answers=!0,comment_page;getAnswers();var SCORE_REG=/<h\d>\s*([^\n,]*[^\s,]),.*?(\d+)(?=[^\n\d<>]*(?:<(?:s>[^\n<>]*<\/s>|[^\n<>]+>)[^\n\d<>]*)*<\/h\d>)/,OVERRIDE_REG=/^Override\s*header:\s*/i; body{text-align:left!important}#answer-list,#language-list{padding:10px;width:290px;float:left}table thead{font-weight:700}table td{padding:5px} <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <link rel="stylesheet" type="text/css" …

30
我已将密码复制到剪贴板!可以删除吗?
按照最佳 安全 实践,我将带有密码的纯文本文件保存在硬盘上。实际上,我只是复制并粘贴其中之一来访问我的PPCG帐户。 很快,我决定密码使用后最好不要保留在剪贴板中。由于这种情况经常发生在我身上,因此我可以使用程序删除剪贴板中的内容。 挑战 使用您选择的编程语言编写一个程序或函数,以删除或覆盖剪贴板中包含的任何文本。 额外细节: 如果您的系统有多个剪贴板,则可以为其中任何一个编写程序。唯一的要求是用户必须可以使用该剪贴板复制和粘贴文本。 如果您的剪贴板保留了最近复制条目的历史记录,则假定为最新条目。 如果您的答案是特定于操作系统或剪贴板的,请在帖子标题以及使用的语言中进行说明。 保证程序运行时剪贴板中包含文本。您可以从剪贴板中删除内容,也可以用其他内容(不一定是文本)覆盖它。唯一的要求是,运行程序后,从剪贴板粘贴将不会产生原始文本。 如果选择覆盖某些固定或随机选择的文本,则可以假定以前的剪贴板内容与该文本不同,因此可以有效删除密码。换句话说,忽略填充文本与密码一致的可能性。 该程序不应有任何副作用,例如重新启动系统,关闭程序,关闭计算机或冻结它。在运行程序之后,用户只有从剪贴板中删除密码后,用户才能继续正常使用计算机。另外,禁止出现标准漏洞。 以字节为单位的最短代码获胜。
96 code-golf 

3
链轮科学:动画链传动系统
这种挑战的目标是产生一个的动画链驱动系统中,由一组中的链轮的齿轮通过一个连接在一起的链。 一般要求 您的程序将获得链轮的列表,指定为(x, y, radius)三重轮。将所得的链驱动系统由这些链轮,由连接在一起的闭合绷紧链越过它们各自,为了。您的目标是制作无限循环的动画,以显示运动中的系统。例如,给定输入 (0, 0, 16), (100, 0, 16), (100, 100, 12), (50, 50, 24), (0, 100, 12) ,输出应类似于 。 的坐标系统应该是这样的x轴右点,和y轴指向上。您可以假定半径是大于或等于8的偶数(我们稍后将说明为什么如此)。您还可以假定至少有两个链轮,并且链轮彼此不相交。该单位的输入不是太关键。这篇文章中的所有示例和测试用例都使用像素作为输入单位(例如,上图中的中间链轮的半径为24像素;)请尽量不要与这些单位偏离太多。在其余的挑战中,空间量应理解为与输入相同的单位-请确保比例正确!输出的尺寸应略大于所有链轮的边界框,并应足够大以使整个系统可见。尤其是,链轮的绝对位置不应影响输出。仅它们的相对位置应该如此(例如,如果我们将上述示例中的所有链轮偏移相同的量,则输出将保持不变。) 链条应在所有接触点处都与链轮相切,并在其他任何地方笔直。链条应越过链轮,以使相邻的链段(即,两个链轮之间的链的一部分,在同一链轮上相遇)不会相交。 。 例如,虽然上面的左系统有效,但中间的系统无效,因为经过左下链轮的两个相邻链节相交。但是,请注意,正确的系统是有效的,因为两个相交的链段不相邻(不过,该系统由与其他两个不同的输入产生)。 为了使事情简单化,您可以假定没有链轮与其两个相邻链轮的凸包或每个邻居和另一个邻居的凸包相交。换句话说,下图中的上链轮不得与任何阴影区域相交。 链段可能与链轮相交,而不是与链轮相交(例如,在最后一个测试案例中)。在这种情况下,链条应始终出现在链轮的前面。 视觉要求 链条应包括一系列宽度互不相同的链节。窄链接的宽度应约为2,宽链接的宽度应约为5。两种类型的链接的长度应大致相等。该期链的宽/窄对的总长度应该是最接近4π的数字,该整数适合链长度的整数倍。例如,如果链的长度为1,000,则其周期应为12.5,这是最接近4π(12.566 ...)的数字,该整数适合1,000中的整数倍(80)。重要的是,该时间段必须在链长中适合整数倍,以便在链缠绕的点处没有伪影。 半径为R的链轮应包括三个同心部分:中心轴,其半径应为3左右;的链轮的身体,围绕轮轴,这应该是大约半径的圆- [R - 4.5; 和链轮的轮辋,在车身周围,半径应为 R -1.5。轮辋还应包含链轮齿,其宽度应约为4;齿的大小和间距应与链节的大小匹配,以使它们整齐地啮合。 链轮齿的周期,即沿链轮圆周的两个连续齿之间的距离,应与链条的周期匹配。由于周期大约为4π,并且由于链轮的半径保证是均匀的,因此该周期应适合链轮圆周的次数几乎为整数,因此在链轮的牙齿缠绕。 您可以对链条,链轮的不同部分和背景使用任何颜色组合,只要可以轻松区分即可。背景可能是透明的。本文中的示例 #202020用于链条, #868481链轮的轴和轮辋以及 #646361链轮的主体。 动画要求 输入列表中的第一个链轮应该顺时针旋转 ; 其余链轮应相应旋转。链条应以每秒约16π(约50个)单位的速度运动;帧速率取决于您,但是动画应该看起来足够平滑。 动画应无缝循环。 符合标准 某些视觉属性和比例是有意仅粗略指定的-您不必完全匹配它们。程序的输出不必是此处给出的示例的像素到像素的副本,但是它看起来应该相似。特别是,链条和链轮的确切比例以及链节和链轮齿的确切形状都是灵活的。 …

30
制作“收款人”程序
一旦我编写了一个JavaScript程序,它将一个字符串和一个字符作为输入,并将一个一个一个地删除除第一个字符和输入字符之外的所有字符。 例如,使用输入codegolf.stackexchange.com和e字符计算得出: codegolf.stackexchange.com cdegolf.stackexchange.com cegolf.stackexchange.com ceolf.stackexchange.com celf.stackexchange.com cef.stackexchange.com ce.stackexchange.com cestackexchange.com cetackexchange.com ceackexchange.com ceckexchange.com cekexchange.com ceexchange.com ceechange.com ceehange.com ceeange.com ceenge.com ceege.com ceee.com ceeecom ceeeom ceeem ceee 它保留第一个字符和所有es。所有其他字符将被一一删除。 您的任务是编写一个接受两个输入和输出(或返回)一个字符串的程序(或函数),以完成此操作。 技术指标 您可以假定该字符串将不包含任何换行符。 第二个输入将始终是一个字符。 如果答案是函数形式,则可以返回包含输出中每一行的字符串数组。 输出可以包含尾随换行符。 测试用例 Test Cases,s: Test Cases Tst Cases Ts Cases TsCases Tsases Tsses Tsss Make a "Ceeeeeeee" program,e: Make …
95 code-golf  string 

30
会停止吗?(警察)
这是警察的话题。强盗的线索在这里。 您的挑战是要使一个程序永久运行而不暂停1,除非它获得一个或多个特定输入2。如果接收到该输入,则它必须在有限的时间3内终止。这是代码高尔夫球,因此,在获胜后的一周内,没有被强盗破解的最短答案。经过一周之后,请标记为安全答案,并显示暂停输入(中的> ! spoiler quote)。如果强盗破解了您的提交,请将其标记为“已破解”,并显示暂停输入(中的> ! spoiler quote)。 提交最好在TIO上可运行且可破解。允许在TIO上无法运行或破解的提交,但请提供下载/运行的说明。 请确定您的输入是确定的,并在所有运行中保持一致。有关详细信息,请参见此meta帖子。 请不要“实施RSA”或对强盗有任何意义的东西。使用晦涩的语言和功能,不要无聊的加密和散列。我无法使用规则来强制执行此操作,但是如果您所做的只是,您可以期望获得好评sha(input) === "abcd1234"。 1假设计算机不会关闭,破裂,被太阳吞没,宇宙热死机中的过热或TIO超时60秒。 2该程序必须在至少一个输入上停止。只要它在一个输入上永远循环并在另一个输入上停止,它就起作用。 3这必须少于60秒,以便可以在TIO上测试代码。 寻找完整的作品? fetch("https://api.stackexchange.com/2.2/questions/135363/answers?order=desc&sort=activity&site=codegolf&filter=!.Fjs-H6J36vlFcdkRGfButLhYEngU&key=kAc8QIHB*IqJDUFcjEF1KA((&pagesize=100").then(x=>x.json()).then(data=>{var res = data.items.filter(i=>!i.body_markdown.toLowerCase().includes("cracked")).map(x=>{const matched = /^ ?##? ?(?:(?:(?:\[|<a href ?= ?".*?">)([^\]]+)(?:\]|<\/a>)(?:[\(\[][a-z0-9/:\.]+[\]\)])?)|([^, ]+)).*[^\d](\d+) ?\[?(?:(?:byte|block|codel)s?)(?:\](?:\(.+\))?)? ?(?:\(?(?!no[nt][ -]competing)\)?)?/gim.exec(x.body_markdown);if(!matched){return;}return {link: x.link, lang: matched[1] || matched[2], owner: x.owner}}).filter(Boolean).forEach(ans=>{var tr = document.createElement("tr");var add = (lang, link)=>{var td = …

30
实现Thanos排序算法
排序算法如下所示: 当列表未排序时,捕捉所有项目的一半(将其从列表中删除)。继续,直到列表已排序或仅剩余一项(默认情况下已排序)。这种分类算法可能会根据实现方式给出不同的结果。 物品清除程序由实施决定,但是经过一遍物品清除程序后,清单的长度应为以前的一半。您的算法可能决定删除列表的前半部分或列表,后半部分,所有奇数项,所有偶数项,一次删除一次,直到列表的长度减半,或者未提及任何内容。 输入列表可以包含任意数量的项目(在某种程度上,我们可以说最多1000个项目),而不仅仅是2 ^ n个项目的完全可分割的列表。如果列表是奇数(硬编码或在运行时随机决定),则必须删除(n + 1)/ 2或(n-1)/ 2个项目。自己决定:如果宇宙中包含奇异数量的生物,Thanos会做什么? 如果没有任何项目小于任何先前的项目,则对列表进行排序。输入中可能会出现重复,输出中可能会出现重复。 您的程序应接收一个整数数组(通过stdin或作为参数,可以是单个项目或一个数组参数),然后返回已排序的数组(或将其打印到stdout)。 例子: // A sorted list remains sorted [1, 2, 3, 4, 5] -> [1, 2, 3, 4, 5] // A list with duplicates may keep duplicates in the result [1, 2, 3, 4, 3] -> [1, 3, 3] …

14
我是一个被动的积极进取者,想侮辱我的老板而不让他发现
辛苦了几个月的工作,我觉得我只想向老板的脸大喊大叫。但是,我不是直接面对遇到问题的人的人。我也不想丢掉工作。 所以这是一个主意:我希望能够侮辱他,而不会发现他。我意识到了一种完美的方法:我需要某种软件来编码本来是完美的消息中的侮辱。看到他是众所周知的看不见树木的森林,我想我知道如何: 写给我一个程序,该程序将一个未知长度的字符串作为输入,但不包含换行符。这将是我要发送的原始消息。 如果可能,返回格式化的字符串,以使消息“ DIE IN A GREASE FIRE”构成整个左列。在新的段落中,单词之间应留有空格。现在,由于我非常生气,每个字母都大写同样重要。 您不能以任何其他方式修改字符串,即,您不能将所有字符串都变成大写字符。 如果不能以这种方式格式化所讨论的字符串,则应返回原始字符串。从标准输入读取输入。 适用一般规则:无需HTTP请求,无需THGTTG咨询Marvin等。 输入示例: 亲爱的老板,最近怎么样?引起我注意的是,上个星期五,我为这次不幸事件受到了所有责备。不只是大多数。每一刻。我以为团队的其他成员至少应该承担部分责任,对我来说是错误的吗?毕竟,我们所有人都从一开始就参与其中。不是说我认为我应该不受责。一点也不。我要说的是:我尽力而为。我努力 我不断进步。而且我一直在承担责任。总的来说,我对自己的行为负全部责任。但是在今年春天之后,看来我得到了应得的收益。还记得Flakenhauser合同吗?一切都像人们希望的那样顺利进行。大概乍一看。直到最后一刻,一切都崩溃了。所有团队都同意,这更像是一场怪胎事故,而不是草率的计划或管理不善的资源。不过,我一个人-对此负责。即使我当时什么也没说,但当时我对责备的容忍度却严重降低了。从那时起,我觉得有必要始终加倍努力,以免受到审查。而且,我们又来了。尽管我取得了所有成就。就在这些天我们似乎总是会结束的地方。每个项目。它变得难以忍受。只是为了逃避审查。而且,我们又来了。尽管有我所有的成就。就在这些天我们似乎总是会结束的地方。每个项目。它变得难以忍受。只是为了逃避审查。而且,我们又来了。尽管有我所有的成就。就在这些天我们似乎总是会结束的地方。每个项目。它变得难以忍受。 输出示例: 亲爱的老板,最近怎么样? 引起我注意的是,上个星期五,我为这次不幸事件受到了所有责备。不只是大多数。 每一刻。 我以为团队的其他成员至少应该承担部分责任,对我来说是错误的吗?毕竟,我们所有人都从一开始就参与其中。 不是说我认为我应该不受责。一点也不。 我要说的是:我尽力而为。我努力 我不断进步。而且我一直在承担责任。 总的来说,我对自己的行为负全部责任。但是在今年春天之后,看来我得到了应得的收益。 记住Flakenhauser合同。 一切都像人们希望的那样顺利进行。大概乍一看。直到最后一刻,一切都崩溃了。 所有团队都同意,这更像是一场怪胎事故,而不是草率的计划或管理不善的资源。 不过,我一个人-对此负责。 即使我当时什么也没说,但我对受到指责的容忍度却严重降低了。 从那时起,我觉得有必要始终加倍努力,以免受到审查。而且,我们又来了。 尽管我取得了所有成就。 就在这些天我们似乎总是会结束的地方。 每个项目。它变得难以忍受。 这是代码高尔夫。最短的代码胜出。
93 code-golf  string 

12
证明俄罗斯密码标准过于结构化
这一挑战的目标是找到一个不可能短期实现以下功能p,在您选择的langage。这是实现它的C代码(请参阅 此TIO链接,也将输出其输出)和包含该代码的Wikipedia页面。 unsigned char pi[] = { 252,238,221,17,207,110,49,22,251,196,250,218,35,197,4,77, 233,119,240,219,147,46,153,186,23,54,241,187,20,205,95,193, 249,24,101,90,226,92,239,33,129,28,60,66,139,1,142,79, 5,132,2,174,227,106,143,160,6,11,237,152,127,212,211,31, 235,52,44,81,234,200,72,171,242,42,104,162,253,58,206,204, 181,112,14,86,8,12,118,18,191,114,19,71,156,183,93,135, 21,161,150,41,16,123,154,199,243,145,120,111,157,158,178,177, 50,117,25,61,255,53,138,126,109,84,198,128,195,189,13,87, 223,245,36,169,62,168,67,201,215,121,214,246,124,34,185,3, 224,15,236,222,122,148,176,188,220,232,40,80,78,51,10,74, 167,151,96,115,30,0,98,68,26,184,56,130,100,159,38,65, 173,69,70,146,39,94,85,47,140,163,165,125,105,213,149,59, 7,88,179,64,134,172,29,247,48,55,107,228,136,217,231,137, 225,27,131,73,76,63,248,254,141,83,170,144,202,216,133,97, 32,113,103,164,45,43,9,91,203,155,37,208,190,229,108,82, 89,166,116,210,230,244,180,192,209,102,175,194,57,75,99,182, }; unsigned char p(unsigned char x) { return pi[x]; } 什么是 p p是两个俄罗斯密码标准的组成部分,即哈希函数Streebog和块密码Kuznyechik。在本文中(以及在ISO会议期间),这些算法的设计者声称他们pi通过选择随机的8位排列来生成数组。 “不可能”的实现 有8位上的排列。因此,对于给定的随机置换,不应期望实现该置换的程序需要少于1683位。256 !≈ 21684256!≈21684256! \approx 2^{1684} 但是,我们发现了多个异常小的实现(我们在此处列出),例如以下C程序: p(x){unsigned char*k="@`rFTDVbpPBvdtfR@\xacp?\xe2>4\xa6\xe9{z\xe3q5\xa7\xe8",l=0,b=17;while(--l&&x^1)x=2*x^x/128*285;return l%b?k[l%b]^k[b+l/b]^b:k[l/b]^188;} 它仅包含158个字符,因此适合1264位。单击此处查看它是否有效。 我们谈论“不可能”的简短实现是因为,如果排列是随机过程的输出(如其设计者所声称的那样),那么这种简短的程序将不存在(有关更多详细信息,请参见本页)。 参考实施 以前的C代码的可读性更高的版本是: …

20
0xBEEF在哪里?
这项挑战的灵感来自1984年温迪的广告。 TS Rogers的插图 您的任务是在二进制包中找到一个十六进制的0xBEEF。 “牛肉”由以下模式组成: 1 0 1 1 (0xB) 1 1 1 0 (0xE) 1 1 1 0 (0xE) 1 1 1 1 (0xF) “小圆面包”由12x12二进制矩阵组成,例如: 1 1 1 0 0 1 1 1 1 1 1 0 1 1 0 1 0 0 1 0 0 0 0 0 …

27
代码会终止吗?
这是我想到的一个代码高尔夫球挑战。挑战在于编写尽可能短的代码,以使代码是否终止是一个悬而未决的问题。我的意思的示例可能是下面的一段python代码,从anwser改编成这个 cs stackexchange 问题。 def is_perfect(n): return sum(i for i in range(1, n) if n % i == 0) == n n = 3 while not is_perfect(n): n = n + 2 数学家们猜测没有奇数完美的数字,但是它从未得到证明,因此没有人知道这段代码是否会终止。您能否提出较短的其他代码段(也许依赖于其他未解决的问题,例如Collat​​z猜想或孪生素数猜想),但是它们是否终止并不知道? 编辑:有些人提出了一个很好的附加规则-问题的解决方案应该是确定性的。尽管如果您可以使用不确定性找到更短的解决方案,可能会更加有趣。在这种情况下,规则是找到一个终止概率未知的代码段。
92 code-golf  math 

30
该字符串可以用作字符串吗?
编写一个程序,该程序采用一个单行字符串,您可以假定该字符串仅包含字符/\_‾。(这是正斜杠和反斜杠,下划线和上划线。~由于上划线不是方便的ASCII,因此如果需要,可以使用上划线代替。) 例如,一种可能的输入是: __/‾‾\/\_/‾ 您的程序需要输出真值或假值,具体取决于字符串的左边缘是否通过字符的行“连接”到了字符串的右边缘。因此,如果字距调整少了一点,那么从左边缘到右端将一直有一条纯黑色(尽管是扭曲的)线条,就像一条不间断的弦线或麻线。 上面示例的输出为true,因为连接了边: 要明确连接: / 连接在其左下角和右上角 \ 连接在其左上方和右下方 _ 连接在其左下角和右下角 ‾(或~)连接在其左上角和右上角 也: 字符串的边缘是从顶部开始还是从底部开始都无关紧要,只需要在整个字符串的水平方向上水平连接即可。 您可以假设输入字符串为非空,当然只有一行。 以下是一些其他示例,如果已连接,则后面跟有1(真),否则则后面是0(虚假): __/‾‾\/\_/‾ 1 _ 1 \ 1 / 1 ‾ 1 ___ 1 \/ 1 /\/ 1 /\/\ 1 ‾‾‾ 1 \\ 0 ‾‾ 1 _‾ 0 ‾_ 0 \_____/ 1 \/\\/\\___ 0 \/\__/‾‾\ …

30
五十度灰
男孩和女孩很高兴在银幕上看到灰色的五十度阴影,我们只想编码而不会被打扰,所以这是挑起大脑的挑战。 你必须: 在屏幕上打印五十个正方形,每个正方形填充不同的灰色阴影 如果您选择的语言缺乏图像处理功能,则可以输出图像文件 正方形必须可见,至少20 x 20像素 除非确保每个阴影都是唯一的,否则不能使用随机数。 您无法通过任何网络连接到任何服务 您无法读取程序中的任何文件。 您不能使用所选语言的标准库中的任何库。 这是代码高尔夫球,所以最短的代码获胜。

30
每种语言的Mandelbrot图片
在我接触过的任何图形应用程序中,我总是使用Mandelbrot图像作为Hello World的“图形”版本。现在轮到你们了。 语言必须能够图形输出或绘制图表(不允许保存文件) 渲染正方形图像或图形。大小至少为128,最大为640 * 分形坐标范围从大约-2-2i到2 + 2i Mandelbrot集外的像素应根据大小超过2之前的迭代次数进行着色(不包括*黑色和白色) 每个迭代计数必须具有唯一的颜色*,并且相邻的颜色最好应易于用眼睛区分 其他像素(大概在Mandelbrot集内)必须为黑色或白色 至少99次迭代 不允许使用ASCII艺术 *除非受平台限制,例如图形计算器 允许: 禁止:( 缩小的图像) 获奖条件: 每种语言的最短版本(以字节为单位)将在此帖子中提及,并按大小排序。 该按钮将永远不会被“接受”。 排行榜: 显示代码段 /* Configuration */ var QUESTION_ID = 23423; // Obtain this from the url // It will be like https://XYZ.stackexchange.com/questions/QUESTION_ID/... on any question page var ANSWER_FILTER = "!t)IWYnsLAZle2tQ3KqrVveCRJfxcRLe"; var …

14
星空中的色彩
编写一个程序,接受一个字符串或文本文件,其第一行的格式为 width height 然后每行的格式为 x y intensity red green blue 哪里: width并且height可以是任何正整数。 x并且y可以是任何整数。 intensity 可以是任何非负整数。 red,green和blue可以是0到255之间的任何整数(包括0和255)。 你的程序必须输出真彩在它的尺寸为任何常见的无损图像文件格式的图像width通过height。每条x y intensity red green blue线代表必须在图像上绘制的彩色星星或球体。可能有任何数量的星形要绘制,包括0。您可以假定字符串或文件末尾有换行符。 绘制图像的算法如下,但是只要结果相同,您可以按照自己喜欢的任何方式实现它: 对于图像中的每个像素(X,Y)(其中X在最左边缘为0,在最右边缘为width-1,Y在顶部边缘为0,在底部边缘height-1),颜色通道C ϵ { 红色, 绿色,蓝色 }(固定在0到255之间的值)由以下公式给出: 其中dist函数为欧几里得距离: 或曼哈顿距离: 根据高尔夫球性或美观性,选择您喜欢的距离功能。 输入中除第一行外的每一行都是“ 星星”集的元素。因此,例如,S X表示x对输入线中的一个值,和S Ç表示任一red,green或blue,这取决于当前正在计算色彩通道。 例子 例子A 如果输入是 400 150 -10 30 100 255 128 0 输出应该是 如果您使用的是欧几里德距离,并且 如果您使用的是曼哈顿距离。 …

30
为了纪念亚当·韦斯特
亚当·韦斯特(Adam West)去世了,我想在此纪念他在PPCG上的记忆,尽管我怀疑他知道我们的存在。尽管这个人以许多不同的事物而闻名,但没有比他作为原始蝙蝠侠的角色更突出的了。我将永远记得我的继父至今仍在观看老式的蝙蝠侠和罗宾。这个挑战本质上是简单的,根本不符合亚当·韦斯特这个复杂的人。但是,这是我能想到的最好的方法,因为这是该男子职业生涯中最具标志性的形象。 我想早些发布,但是我在等待有人提出更好的建议。 输出以下内容(带或不带尾随空格/换行符): * * **** * * **** **** ******* **** ****** ******* ****** ********* ********* ********* *********************************************** ************************************************* ************************************************* ************************************************* *********************************************** ***** ********************* ***** **** *** ***** *** **** ** * *** * ** 这是代码高尔夫球,最低字节数将获胜。

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.