编程拼图和代码高尔夫

编程益智爱好者和代码高尔夫球手的问答

30
画冰岛国旗
今年的UEFA Euro 2016已经结束,除了一些负面新闻外,冰岛国家足球队也带来了非常积极的惊喜。让我们画他们的国旗。 输入值 好吧,显然,这一挑战没有任何投入。 输出量 以至少100 x 72像素或25 x 18字符的任何适用视觉格式绘制冰岛国旗。 将输出保存到文件或立即呈现-示例格式为:png,jpg等图像,矢量图形,在HTML画布上绘制,甚至使用非空格字符进行可视化。 使用这些颜色:蓝色:#0048e0,白色:#ffffff和红色:#d72828。 如果你的语言不支持特定的颜色值,使用标准值,红色,蓝色和白色从ANSI颜色代码。 按照正确的比例绘制标志,如下图所示: 样板 您可以编写程序或函数。如果它是一个匿名函数,请举例说明如何调用它。 这是代码高尔夫球,因此最短答案以字节为单位。 不允许出现标准漏洞。 排行榜 显示代码段 var QUESTION_ID = 85141; // 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 COMMENT_FILTER = "!)Q2B_A2kjfAiU78X(md6BoYk"; var …

30
正在载入…永远
您的挑战是制作一个无限的加载屏幕,如下所示: 或者,更具体地说: 不输入任何内容。 输出Loading...,带有尾随空格,但没有尾随换行符。 通过字符无限循环|,/,-和\:每0.25秒,覆盖最后一个与序列中的下一个。您可以只覆盖最后一个字符,或者删除并重写整行,只要Loading...保持不变即可。 规则 输出文本必须与指定的外观完全相同。尾随换行符/空格是可以接受的。 应该不最初显示输出之前等待0.25秒-第一帧应当被尽快程序运行打印。 您的程序应该可以无限期地运行。例如,如果您将计数器用于帧,则计数器绝不能超过您所用语言的最大值而不会导致错误。 尽管每个“帧”之间的等待时间应该为0.25秒,但显然这永远都不是精确的-允许10%左右的误差范围。 您可以提交功能,但必须将其打印到stdout。 您可以在非控制台(但仍基于文本)的环境中提交答案,只要它能够生成加载动画即可。 这是代码高尔夫球,因此最短的解决方案(以字节为单位)获胜。适用标准代码高尔夫球漏洞。 如有可能,请提供您正在使用的加载屏幕的gif。 例 这是我用来创建示例(unolfed)的C ++代码: #include <iostream> #include <string> #include <thread> using namespace std; int main() { string cycle = "|/-\\"; int i = 0; cout << "Loading... "; while (true) { // Print current character cout << …

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

30
画法国国旗
已经有许多发布的其他标志的挑战,但没有一个是国旗的法国。这周似乎是合适的时间。 以尽可能少的字节产生此标志: 图片的比例必须为3:2,且尺寸至少应为78像素宽和52像素高。 每个条纹占据宽度的三分之一。 条纹的颜色从左至右分别为RGB: ,(0, 85, 164),。(255, 255, 255)(239, 65, 53) 可以将图像以任何常见的图像文件格式保存到文件中,或通过原始方式通过管道传输到STDOUT,或者可以显示它。 或者,使用ANSI颜色代码为标志输出一个至少由78个字符宽的文本块,该文本块由非空白字符组成,用于描述该标志。(使用标准的蓝色,白色和红色。) 不允许内置标志图像/库。 以字节为单位的最短代码获胜。 排行榜 这篇文章底部的堆栈摘录从答案a)生成排行榜,答案是每种语言的最短解决方案列表,b)则是总体排行榜。 为确保您的答案显示出来,请使用以下Markdown模板以标题开头。 ## Language Name, N bytes N您提交的文件大小在哪里。如果您提高了分数,则可以将旧分数保留在标题中,方法是将它们打掉。例如: ## Ruby, <s>104</s> <s>101</s> 96 bytes 如果您想在标头中包含多个数字(例如,因为您的分数是两个文件的总和,或者您想单独列出解释器标志罚分),请确保实际分数是标头中的最后一个数字: ## Perl, 43 + 2 (-p flag) = 45 bytes 您还可以将语言名称设置为链接,然后该链接将显示在代码段中: ## [><>](http://esolangs.org/wiki/Fish), 121 bytes 显示代码段 <style>body { …

30
什么不会杀死我...
总览 这是一场机器人大战,看谁能生存最长。但是,这些漫游器会通过受到攻击来增强其功能,因此在拍摄前您需要仔细考虑。 每回合,您都可以选择要攻击或防御的机器人。攻击会缩短其生命并增加力量。最后一个机器人站获胜。 机器人 每个机器人以1000生命和10力量开始。 受到攻击时: 从你的生命中减去攻击者的力量 你的力量提高1。 因此,如果在第一回合中受到两个机器人的攻击,则您将拥有980点生命和12点力量。 如果您选择捍卫: 你的力量会降低1 此回合对您的所有攻击将减少一半 如果您受到攻击,则每个攻击者将获得2点力量,而不是1点 因此,如果您在第一回合防御并受到两个机器人的攻击,您将拥有990点生命和13点力量。如果您防御并且没有受到攻击,那么您将拥有1000点生命,但是只有9点力量。 如果转弯结束时您的力量小于1,则将其设置为1。如果您的生命低于1,您将死亡。 输入输出 机器人每回合叫一次。每转一圈有一个时间限制。 初始 第一次调用您的漫游器时,将不会给出任何参数。回应ok。这样做只是为了确保您的机器人能够响应。如果没有,它将不会被添加到播放器列表中。 每转 每回合,您的机器人都将获得有关游戏中所有机器人的信息作为命令行参数。这些参数的一个示例是: 1 0,1000,10,1 1,995,11,D 第一个参数是您的漫游器的唯一ID。然后,出现一个用空格分隔的漫游器列表。每个漫游器的格式为: id,life,power,lastAction lastAction可以是一个整数,表示他们攻击了哪个机器人,D是否防御了,以及X这是否是第一回合。其他都是整数。 因此,在上面的示例中,您1在最后一轮被机器人保护。Bot 0攻击了您,并且仍然处于启动状态。 每转的输出非常简单。只需将您要攻击的机器人输出为整数(例如0或3)或D进行防御即可。不要攻击已死亡或不存在的机器人,因为这将视为无效命令。任何无效的命令都将导致您失去1次电源。 比赛结构 每个游戏都包含以1000生命值和10力量开始的所有机器人。所有漫游器均同时采取措施。游戏的最大回合数为1000。 如果在回合结束时仍有一个机器人存活(生命> 0),则该机器人将获得1分并开始另一场比赛。如果达到转弯限制,并且有多个机器人处于活动状态,那么没人会得到积分。如果所有剩余的漫游器都死于同一回合,则没有人获得分数。 锦标赛包括15场比赛。最后谁得分最高者获胜!每种获胜游戏中剩余的生命总和打破关系。 州 漫游器只能在名为state(“ Hero”可以写入state/hero.whatever)的直接子文件夹中读取或写入以自身命名的单个文件。该文件的大小不得超过1024 2个字节。注意遵守时间限制。您的程序必须在一秒内终止才能计数,而不仅仅是给出响应。 这些文件将在每次锦标赛前擦除,但会在每个游戏中持续存在。id游戏之间的所有漫游器标识符()也将保持不变。 控制者 以下是比赛控制器(Stronger.java)。默认情况下,它仅输出最终结果(排序的玩家列表,优胜者排在首位),这可能需要一段时间。它没有冻结,只是保持沉默。如果您想要更详细的转弯输出,请-log在运行时添加参数。 要添加机器人,您有两种选择: 将命令添加为参数(java Stronger -log "python bot.py") 将命令添加到defaultPlayers[]源代码("python bot.py")中 …

17
对数组进行异化
从概念上讲,这一挑战非常简单。您会得到一个非负整数列表。如果可能,找到一个非负整数,以便对由组成的列表进行排序。如果不存在这样的输出,那么输出应该是不能被误认为是有效值的任何东西,例如负数,什么都没有,错误等。aiNbi = ai XOR NNN 这是一个例子: [4, 7, 6, 1, 0, 3] 如果我们采用此列表中的每个元素XOR 5,则得到 [1, 2, 3, 4, 5, 6] 排序。(请注意,结果列表不必具有唯一的元素且不包含空格。如果这样的操作的结果[0, 1, 1, 3]仍然是有效的。)另一方面,列表 [4, 7, 1, 6, 0, 3] 没有这样的N存在。 您可以编写程序或函数,通过STDIN(或最接近的替代方案),命令行参数或函数自变量获取输入,并通过STDOUT(或最接近的替代方案),函数返回值或函数(out)参数输出结果。 输入可以是任何方便的列表或字符串格式。您可以假设小于个,并且列表包含至少一个元素。ai231 您的代码必须在几秒钟内处理任何测试用例(尤其是四个大型用例)。 适用标准代码高尔夫球规则。 测试用例 对于每个不返回的测试用例,-1都有无限数量的正确答案。这里列出的是最小的一个。通过额外设置在输入中所有整数上都相同的位(尤其是那些比列表中最大数目中的最高有效位大的位)来设置其他解决方案。 [4 7 6 1 0 3] => 5 [4 7 1 6 0 …

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

30
一个简单的TCP服务器
编写一个程序或函数,以侦听端口N上的传入TCP通信。它提供了一种简单的服务:它计算传入连接的IP地址字段的总和并返回。 程序或函数从参数或标准输入读取整数N。它侦听端口N上的传入TCP连接。当有人连接到该端口时,该程序将计算其IP地址字段的总和,并使用尾随的换行符将其发送回客户端并关闭连接。 端口号N是有效端口,并且2 10 <N <2 15 尾随换行符可以是\n或\r\n 您可以使用IPv4或IPv6。由于IPv6地址是以十六进制形式写入的,因此您还必须提供相同格式的结果,例如2001:0db8:0000:0042:0000:8a2e:0370:7334 => 12ecd。 这是代码高尔夫球。适用标准规则和漏洞。 例 您使用运行服务器./server 1234。服务器现在正在运行,正在等待端口1234上的连接。然后,客户端从此127.0.0.1连接到您的服务器。你的服务器执行一个简单的计算:127+0+0+1 => 128并且将结果发送给客户端(与尾随的换行符): 128\n。然后服务器关闭连接并等待下一个客户端。 排行榜 var QUESTION_ID=76379,OVERRIDE_USER=20569;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){return e.lang>s.lang?1:e.lang<s.lang?-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 …

30
甲酸功能-小山竞赛的蚁后
观看直播 | 积极答案 | 添加新答案 | 聊天室 | 源代码 | 排行榜 必要时进行新比赛。非常欢迎新玩家和新更新。 不是实际的游戏画面。 每个玩家都从一只蚂蚁开始-一只蚁后,会收集食物。每件食物都可以存放或用来生产工人。工人们还收集食物,带回女王手中。 16个玩家在一个竞技场上比赛。获胜者是女王,她完成了30,000转后,拥有最多的食物。值得注意的是,蚂蚁只能通过更改竞技场正方形的颜色来进行交流,而竞争对手的蚂蚁也可能会改变它们的颜色... 看比赛 这是一场JavaScript竞赛,这意味着您可以通过单击下面的链接在浏览器中实时观看比赛。 单击此处观看正在直播的游戏 非常感谢Helka Homba参加了最初的《山峰大王》大赛,Red vs. Blue-Pixel Team Battlebots和Block Building Bot Flocks,它们提供了托管KotH的网络浏览器的思想,并为该代码提供了很多信息。 也非常感谢Sandbox和Chat中优秀人员的所有反馈和测试。 排行榜 (单击该图像可查看完整的排行榜和联合位置说明-为了节省空间,此处仅显示少数玩家。) 此排行榜是基于球员,因为他们在周日2 次 2018年9月。 屏幕截图 比赛结束时竞技场的一些图像。单击图像查看完整大小。 要了解竞技场中正在发生的事情以及所有这些模式的形成方式,您可以运行游戏并将鼠标悬停在竞技场上以放大并查看工作中的蚂蚁。另请参见答案中引人入胜的解释。 竞技场 竞技场是正方形单元的环形(边缘包裹)网格。它的宽度为2500,高度为1000。所有单元格均从颜色1开始。 最初,精确的0.1%的细胞将包含食物。2500片食物将随机均匀地分散。游戏期间不会引入新食物。 皇后将随机放置在空的单元格上,不能保证它们不会彼此相邻(尽管这不太可能)。 蚂蚁能力 视线:每个蚂蚁都能看到其3 x 3社区中的9个牢房。它不了解该地区以外的任何其他蚂蚁。它可以看到9个单元格(其他蚂蚁和食物)中每个单元格的内容以及每个单元格的颜色。 没有记忆:每只蚂蚁都根据所见即所得做出决定-它不记得上一回合所做的事情,除了以竞技场单元格的颜色外,没有其他存储状态的方法。 没有方向:蚂蚁不知道它在哪里或面对什么方式-它没有北的概念。3 x 3邻域将以随机旋转的方向呈现给它,该定向每转一次都会改变,因此,除非它有颜色来指导它,否则它甚至不能沿直线行走。(每转相同的动作将导致随机走动,而不是直线走动。) 搬家,彩色标记和生产工人:请参见下面的输出。 不朽:这些是不会死亡的高地蚂蚁。您可以通过更改敌对蚂蚁的颜色来迷惑它们,或者通过用自己的8只蚂蚁包围它们来限制它们移动,但是除此之外,它们也不会受到伤害。 …

30
我是回文集。你是?
已经有几个先前 尝试问这个问题,但也符合本网站现代化标准。根据对Meta的讨论,我将其重新发布,以允许在我们现代规则集下进行公平竞争。 背景 甲回文是一个字符串,“读取相同的向前和向后”,即字符串的反向相同字符串本身。我们在这里不是在谈论“方便回文”,而是严格的逐字符反转。例如,()()不是回文,而是())(。 任务 编写一个程序或函数,该程序或函数将字符串S(或您所用语言的适当等价形式)作为输入,并具有一个输出Q(您选择的类型)。您可以使用任何合理的方式获取输入并提供输出。 当输入S是回文时,输出Q应该具有值A(对于任何回文S而言都是相同的)。 当输入S不是回文时,输出Q应该具有值B(对于任何非回文S而言都是相同的)。 A和B必须彼此不同。 换句话说,将所有回文映射到一个值,将所有非回文映射到另一个值。 另外,您编写的程序或函数本身必须是回文式(即其源代码必须是回文式),这成为源代码受限的挑战。 澄清说明 尽管true和false是A和B的明显选择,但是您可以对“是回文”和“不是回文”输出使用任意两个不同的值,而不必是布尔值。 我们在这里在字符级别定义字符串反转;éé不管程序是以UTF-8还是Latin-1编码,它都是回文,即使它不是UTF-8编码后的八位字节回文序列。 但是,即使您的程序包含非ASCII字符,它也只需要用于ASCII输入即可。具体来说,输入S将仅包含可打印的ASCII字符(包括空格,但不包括换行符)。除其他外,这意味着,如果将输入视为字节序列而不是字符序列,则程序仍可能符合规范(除非您语言的I / O编码很奇怪)。因此,仅在检查程序具有正确的形式时,前一项目符号中回文的定义才真正重要。 将程序隐藏在注释或字符串文字中的一半是合法的,尽管这是不合法的。您的评分是根据长度而不是创造力进行的,因此请随意使用“无聊”的方法来确保您的程序是回文。当然,由于您的评分很长,因此程序中什么都不做的部分会使您的成绩更差,因此,如果可以管理程序,则可以同时使用程序的两半。 由于胜利标准是以字节为单位的,因此您需要指定编写程序的编码,以便能够对其进行评分(尽管在许多情况下,很明显您正在使用哪种编码)。 胜利标准 即使该程序需要在字符级别上成为回文,但我们仍使用字节来查看谁获胜。具体来说,程序越短(以字节为单位)越好;这是一个代码高尔夫挑战。为了允许比较提交(尤其是使用相同语言的提交),请将程序的字节数放在提交的标头中(如果字符数与字节数不同,则加上字符数)。

16
模拟宇宙!
图灵完备语言的一个不错的特性是,它可以用来编写任何程序,甚至可以模拟整个宇宙。 您的工作就是做到这一点:编写一个模拟Universe的程序。 注意:尽管我毫不怀疑您将能够完成此任务,但如今我没有足够的业余时间来验证模拟中的所有10 90个粒子是否都按其实际应做的工作。因此,仅是为了简化测试和评估,如果您的Universe模拟器仅适用于单个起始粒子就足够了。为了使事情有趣,让我们假设这个粒子是最近发现的希格斯玻色子。 您的宇宙仅以一个中间约120 GeV的希格斯玻色子开始。为了不使输出太长,让我们使该Universe仅在10 -25秒处滴答,而不是其“常规时钟频率”为5.4×10 -44秒。 希格斯玻色子的衰变半衰期为1.6×10 -22秒,因此迟早会衰变,因此在模拟的每个滴答声中,衰变的可能性为0.0433%。您可以在此处检查它会衰减成什么。为了有一个集中的简化需求,我列出了您应该使用的分支比率: 运行模拟 在每次模拟时,希格斯玻色子都有0.0433%的衰减机会。如果发生这种情况,它将分解为具有列出的概率的以下粒子(您应该在输出中使用这些名称): 底夸克+底夸克(64.8%) 2 W玻色子(14.1%) 2加仑(8.82%) 头蛋白轻蛋白+头蛋白轻蛋白(7.04%) 夸克+夸克(3.27%) 2个玻色子(1.59%) 2个光子(0.223%) 1 Z玻色子+ 1光子(0.111%) 介子+反介子(0.0244%) 顶夸克+顶抗夸克(0.0216%) 总计为100%。 这些粒子中的一些会进一步衰减。 W玻色子:半衰期为10 -25秒,这意味着每个滴答声都有50%的机会分解为下列概率相等的下列之一: 正电子+中微子 反介子+中微子 Antitau Lepton +中微子 Z玻色子:半衰期为10 -25秒,这意味着在每个刻度上都有50%的机会分解为下列其中之一: 中微子+抗中微子(20.6%) 电子+正电子(3.4%) 介子+反介子(3.4%) 牛头顿+牛头顿(3.4%) 下夸克+下夸克(15.2%) 夸克+夸克(15.2%) 底夸克+底夸克(15.2%) 夸克+反夸克(11.8%) 夸克+夸克(11.8%) 顶夸克:半衰期为5×10 -25秒,这意味着在每个刻度上有12.95%的机会衰减为以下几率,并且概率相同: 玻色子+夸克 玻色子+夸克 W玻色子+底夸克 …

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向后执行来生成它。 编码愉快! 更新:比赛结束了!谢谢你们 :)

30
源代码生态足迹
您刚被一家德国汽车制造公司录用。作为工程师,您的第一个任务是编写一个程序,该程序计算ASCII字符串的生态足迹。 角色的生态足迹计算如下: 用二进制写字符的ASCII码,并计算1的数量。 例如,A足迹为2,但O足迹为5则较脏。 字符串的全局足迹是其字符足迹的总和。空字符串的足迹为零。 您的程序必须接受ASCII字符串作为参数(通过命令行或输入),计算其生态足迹并输出。程序本身必须是ASCII编码的。 不过有一个小问题。由于您的公司希望以更严格的环境规则进入新市场,因此您需要调整程序,使其在“测试模式”下表现不同。从而: 程序在接收到字符串test作为参数时应输出0 。 计分 具有最小生态足迹的源代码获胜(是的,答案test是禁止的!)

30
您的语言中五个最强大的字符是什么?
选择您的语言支持的任何五个字符。有5个!= 5×4×3×2×1 = 120种方式可以将它们排列成5个字符的字符串,每个字符包含一次;120 个排列。 选择您的字符,以便在使用您的语言运行120个字符串中的每个字符串时,所产生的120个输出将是从1到120(含)之间尽可能多的唯一整数。 也就是说,对于产生可运行代码并输出一个数字的5个字符的120个置换中的每一个,您都希望所有这些数字的集合尽可能与1到120的整数集合匹配。 因此,理想情况下,你的第一个置换将输出1,下2,下3,一路最多120。但是对于大多数语言和字符来说,这种理想可能是不可能的。 5个字符的字符串可以按以下方式运行: 没有输入的程序 没有参数的函数 一个REPL命令 如果需要,可以以不同的方式运行不同的字符串 为了使输出计数,按常规方式,它必须是单个整数输出,例如: 被打印到标准输出 由函数返回 REPL表达式的结果 该代码应正常终止(只要先输出该数字,就可能会出错)。根本不运行的代码很好,只是(不存在的)输出不计算在内。除非您的语言使用其他基数,否则输出的数字应为十进制。 该提交产生了从1到120获胜的最明显的数字。如果出现平局,则较早提交的文件将获胜。 笔记 您的5个字符并不需要都相同,但是,当然,重复的字符会减少排列的有效次数。 浮点输出,例如32.0count以及plain 32。(但32.01不会。) 前导零,例如032count和plain 32。 有效输出应该是确定性的,并且是不变的。 我们正在处理字符,而不是字节。 例 123+*对于Python(或许多语言)的REPL ,字符是合理的首选。产生的120个排列和输出为: 123+* n/a 123*+ n/a 12+3* n/a 12+*3 n/a 12*3+ n/a 12*+3 36 132+* n/a 132*+ n/a 13+2* n/a 13+*2 n/a …

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

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.