Questions tagged «random»

涉及随机数和/或输出的任务。

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

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
产生不确定性输出的最短代码
您需要产生不确定的输出。 在这种情况下,这将被定义为表示输出将不会总是相同的结果。 规则: 始终具有相同种子的伪随机数生成器不计算在内。 您可以依靠程序在每次执行的不同(未知)时间运行。 您的代码的进程ID(如果解释器未固定)可以认为是不确定的。 您可能依赖于基于网络的随机性。 您的代码可能不接受非空输入。相关meta post。 不需要暂停程序,但是必须显示输出。 排行榜 显示代码段 function answersUrl(a){return"https://api.stackexchange.com/2.2/questions/"+QUESTION_ID+"/answers?page="+a+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+ANSWER_FILTER}function commentUrl(a,b){return"https://api.stackexchange.com/2.2/answers/"+b.join(";")+"/comments?page="+a+"&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(a){answers.push.apply(answers,a.items),answers_hash=[],answer_ids=[],a.items.forEach(function(a){a.comments=[];var b=+a.share_link.match(/\d+/);answer_ids.push(b),answers_hash[b]=a}),a.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(a){a.items.forEach(function(a){a.owner.user_id===OVERRIDE_USER&&answers_hash[a.post_id].comments.push(a)}),a.has_more?getComments():more_answers?getAnswers():process()}})}function getAuthorName(a){return a.owner.display_name}function process(){var a=[];answers.forEach(function(b){var c=b.body;b.comments.forEach(function(a){OVERRIDE_REG.test(a.body)&&(c="<h1>"+a.body.replace(OVERRIDE_REG,"")+"</h1>")});var d=c.match(SCORE_REG);d?a.push({user:getAuthorName(b),size:+d[2],language:d[1],link:b.share_link}):console.log(c)}),a.sort(function(a,b){var c=a.size,d=b.size;return c-d});var b={},c=1,d=null,e=1;a.forEach(function(a){a.size!=d&&(e=c),d=a.size,++c;var f=jQuery("#answer-template").html();f=f.replace("{{PLACE}}",e+".").replace("{{NAME}}",a.user).replace("{{LANGUAGE}}",a.language).replace("{{SIZE}}",a.size).replace("{{LINK}}",a.link),f=jQuery(f),jQuery("#answers").append(f);var g=a.language;g=jQuery("<a>"+g+"</a>").text(),b[g]=b[g]||{lang:a.language,lang_raw:g,user:a.user,size:a.size,link:a.link}});var f=[];for(var g in b)b.hasOwnProperty(g)&&f.push(b[g]);f.sort(function(a,b){return a.lang_raw.toLowerCase()>b.lang_raw.toLowerCase()?1:a.lang_raw.toLowerCase()<b.lang_raw.toLowerCase()?-1:0});for(var h=0;h<f.length;++h){var i=jQuery("#language-template").html(),g=f[h];i=i.replace("{{LANGUAGE}}",g.lang).replace("{{NAME}}",g.user).replace("{{SIZE}}",g.size).replace("{{LINK}}",g.link),i=jQuery(i),jQuery("#languages").append(i)}}var QUESTION_ID=101638,ANSWER_FILTER="!t)IWYnsLAZle2tQ3KqrVveCRJfxcRLe",COMMENT_FILTER="!)Q2B_A2kjfAiU78X(md6BoYk",OVERRIDE_USER=34718,answers=[],answers_hash,answer_ids,answer_page=1,more_answers=!0,comment_page;getAnswers();var SCORE_REG=/<h\d>\s*([^\n,<]*(?:<(?:[^\n>]*>[^\n<]*<\/[^\n>]*>)[^\n,<]*)*),.*?(\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:400px;float:left}table thead{font-weight:800}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" href="//cdn.sstatic.net/codegolf/all.css?v=83c949450c8b"><div id="language-list"> <h2>Shortest Solution by …
83 code-golf  random 

30
从较小的“ H”创建一个“ H”
挑战 创建一个函数或程序,当给定整数时size,该函数或程序将执行以下操作: 如果size等于1,则输出 H H HHH H H 如果size大于1,则输出 X X XXX X X X程序/功能的输出在哪里size - 1 (只要您愿意,0只要您在答案中指定,就可以使基本情况与相对应) 可以使用以下任何一种输出格式,以您更方便的方式: 所需结构的字符串,其中任意两个不同的字符分别对应于H和space 具有所需结构的二维数组,其中任意两个不同的值分别对应于H和space 字符串的数组/列表,每个字符串中有一行输出,并且与H和对应的任意两个不同的值space 只要每行上有恒定数量的前导空格,就可以使用前导空格。两个不同的输出字符可以取决于您选择的任何内容,只要它们不同即可。 指定代码返回的输出格式。 测试用例 1 H H HHH H H 2 H H H H HHH HHH H H H H H HH HH H HHHHHHHHH H HH HH …
73 code-golf  ascii-art  fractal  code-golf  code-golf  string  code-golf  string  matrix  code-golf  graph-theory  maze  binary-matrix  code-golf  kolmogorov-complexity  random  code-challenge  metagolf  test-battery  brain-flak  text-processing  code-golf  matrix  code-golf  number-theory  primes  code-golf  string  matrix  code-golf  binary  bitwise  code-golf  number  factorial  floating-point  code-golf  number  sequence  code-golf  sequence  cops-and-robbers  code-golf  sequence  cops-and-robbers  code-golf  string  code-golf  math  decision-problem  number-theory  integer  code-golf  number  decision-problem  functional-programming  code-golf  array-manipulation  matrix  code-golf  string  classification  string  code-challenge  binary  compression  decode  code-golf  string  string  code-challenge  balanced-string  encode  code-golf  number-theory  integer  base-conversion  code-golf  math  number-theory  geometry  abstract-algebra  code-golf  array-manipulation  sorting  optimization  code-golf  math  geometry  image-processing  generation  code-golf  string  cops-and-robbers  repeated-transformation  grammars  cops-and-robbers  repeated-transformation  grammars  code-challenge  restricted-source  tips  source-layout  javascript  code-challenge  kolmogorov-complexity  restricted-source  code-golf  combinatorics  counting  math  fastest-code  linear-algebra  code-golf  math  permutations  matrix  linear-algebra  code-golf  string  decision-problem  restricted-source  code-golf  number  array-manipulation  subsequence  code-golf  number  array-manipulation  matrix  code-golf  brainfuck  code-golf  color  code-golf  quine  source-layout  code-golf  subsequence  code-golf  string  ascii-art  code-golf  string  ascii-art  alphabet  code-golf  decision-problem  interpreter  hexagonal-grid  halting-problem  code-golf  string  polynomials  calculus  code-golf  math  decision-problem  matrix  complex-numbers  code-golf  random  code-golf  number  arithmetic 

30
高尔夫黄鼠狼计划
理查德•道金斯(Richard Dawkins)在他的“ 盲人制表师”一书中描述了鼬鼠程序。该算法可以描述如下: 以28个字符的随机字符串开头。有效字符均为大写字母和空格。 制作该字符串的100个副本,每个字符的5%机会被随机字符替换。 将每个新字符串与目标“比较像是Weasel的单词”进行比较,并根据字符串中正确且位置正确的字母数给每个得分。 如果任何新字符串的得分都很高(28),请暂停。 从第3步中选择得分最高的字符串。如何决定平局取决于您,但是只能选择一个字符串。以所选的字符串并转到步骤2。 获胜者将是获得正确答案的最短代码段,同时以以下格式打印每一代得分最高的字符串: 如果人们可以通过检查其他人来帮助您,那么答案将非常有帮助!

30
鸭,鸭,鹅!
还记得孩子们的游戏“鸭子,鸭子,鹅”吗?没有?我也不。 挑战 无限次地在单独的行上打印单词“ duck”。 打印单词“鹅”。 您的程序结束。 规则 尝试以最少的字节数玩游戏。 至少必须有一只鸭子。 列表末尾必须只有一只鹅。 每行上只能有一只鸟。没有空行。 输出字符串的大小写无关紧要。 一行内的空格很好。 您的程序必须完成。 您的程序不能始终产生相同数量的鸭子。 玩得开心! 请注意:此问题不是最短代码的重复,以产生不确定的输出 原因包括: 儿童游戏协会 结果字符串的已定义开始和结束要求。另一个挑战中没有指定的输出。 答案对于另一个非重复的挑战,单位字节数。这一项的平均数约为30左右。 根据这一挑战与那个挑战之间的重叠量,任何包含“ random”标签的代码高尔夫问题都是重复的。我们应该全部删除吗? 此挑战的代码答案将与另一挑战匹配(以一种肿的方式),但该挑战的答案与该挑战不匹配。
58 code-golf  random 

30
骰子游戏,但避免数字6 [关闭]
比赛结束了! 比赛结束了!最终模拟是在夜间进行的,总共场比赛。获奖者是Christian Sievers和他的机器人OptFor2X。克里斯蒂安·西弗斯(Christian Sievers)也与Rebel一起获得第二名。恭喜你!您可以在下面看到比赛的官方高分列表。3∗1083∗1083*10^8 如果您仍然想玩游戏,欢迎使用下面发布的控制器,并使用其中的代码来创建自己的游戏。 我受邀玩从未听说过的骰子游戏。规则很简单,但我认为这对于KotH挑战将是完美的。 规则 游戏开始 骰子绕着桌子转,每次轮到您时,您都可以随意扔骰子多次。但是,您必须至少抛出一次。您可以跟踪本轮的所有掷出的总和。如果您选择停止,则该回合的分数将添加到您的总分数中。 那么,为什么要停止扔骰子呢?因为如果您得到6,则整个回合的分数将变为零,并且骰子会继续传递。因此,最初的目标是尽快提高您的分数。 谁是赢家? 当桌子周围的第一个玩家达到40分或以上时,最后一轮开始。一旦上一轮开始,除了发起上一轮的人以外的所有人都将获得另一回合。 上一轮的规则与其他任何轮次相同。您选择继续投掷或停止。但是,您知道,如果您没有获得比上一轮比赛之前更高的分数,那么您就没有机会获胜。但是,如果您走得太远,那么您可能会得到6。 但是,还有另一条规则需要考虑。如果您的当前总得分(您的上一得分+您当前的总得分)为40或更高,并且您打6,则您的总得分将设置为0。这意味着您必须重新开始。如果您在当前总得分为40或更高时达到6,则游戏将继续正常进行,除非您现在排在最后。重设总分时不会触发最后一轮。您仍然可以赢得一轮比赛,但这确实更具挑战性。 胜者是最后一轮结束后得分最高的球员。如果两个或两个以上的玩家共享相同的分数,则将全部计为胜利者。 附加规则是游戏最多可以持续200回合。这是为了防止多个机器人基本上一直抛出直到它们达到6保持当前分数的情况。第199轮通过后,last_round将其设置为true,然后再玩一轮。如果游戏进行200轮,则得分最高的机器人(即使机器人得分不超过40分)也将是获胜者。 概括 每回合您都会掷骰子直到选择停止或得到6 您必须掷一次骰子(如果您的第一掷是6,则您的回合立即结束) 如果您得到6,则您的当前分数将设置为0(而不是总分数) 您在每个回合后将当前分数添加到总分数中 当漫游器结束转弯时,其总分至少达到40分时,其他所有人将获得最后一转 如果您当前的分为而您得到6,则您的总得分将设为0,并且您的回合结束了≥ 40≥40\geq 40 发生上述情况时,不会触发最后一轮 最后一轮比赛总得分最高的人是获胜者 如果有多个获胜者,则全部计为获胜者 游戏最多持续200回合 澄清分数 总分:您在前几轮中保存的分数 当前分数:当前回合的分数 当前总分:以上两个分数之和 你如何参加 要参加KotH挑战,您应该编写一个Python类,该类继承自Bot。您应该实现以下功能:make_throw(self, scores, last_round)。轮到您时该函数将被调用,并且您的第一个掷球不是6。要继续掷球,您应该yield True。要停止投掷,您应该yield False。每次抛出之后,update_state都会调用父函数。因此,您可以使用变量访问当前回合的掷球self.current_throws。您还可以使用来访问自己的索引self.index。因此,要查看自己的总成绩,您可以使用scores[self.index]。您也可以使用来访问end_score游戏的self.end_score,但您可以放心地假定此挑战将是40。 您可以在类中创建帮助器函数。您也可以覆盖Bot父类中现有的函数,例如,如果要添加更多的类属性。除yield True或之外,您不得以任何其他方式修改游戏的状态False。 您可以从这篇文章中自由地寻求灵感,并复制我在此处包括的两个机器人中的任何一个。但是,恐怕它们并不是特别有效... 关于允许其他语言 在沙盒和第十九字节中,我们都讨论了有关允许使用其他语言提交的问题。在阅读了这样的实现并听取了双方的争论之后,我决定将这一挑战仅限于Python。这是由于两个因素造成的:支持多种语言所需的时间,以及此挑战的随机性,需要大量的迭代才能达到稳定性。我希望您仍然会参与其中,如果您想学习一些Python来应对这一挑战,我将尽可能多地在聊天中提供帮助。 如有任何疑问,您可以在聊天室中写下此挑战。到时候那里见! 规则 允许并鼓励破坏行为。也就是说,对其他玩家的破坏 任何试图修改控制器,运行时或其他提交内容的尝试都将被取消资格。所有提交都应仅使用输入的输入和存储。 任何使用超过500MB内存做出决定的漫游器都会被取消资格(如果您需要那么多内存,则应重新考虑选择) 机器人不得有意或无意地实施与现有机器人完全不同的策略。 …

27
破解中
还记得那些蛮力破解密码的程序,它们显示了他们尝试的每种组合吗?更准确地说,在某个时刻,固定了n个第一个字符(已经成功猜出了它们),其余的每个可能的字符都在测试中。您可能已经看过电影或喜欢精美界面的人编写的某些软件。 抱歉,我们很抱歉,但是我们不会编写破解密码的程序,而只提供一个程序来复制漂亮的输出。 挑战 给定一个包含可打印的ascii字符但没有换行符的字符串(ascii代码32到126或与regex匹配^[ -~]{2,}$),请按照以下规则打印输出: 在时间t=n seconds,n打印的n第一个字符是输入字符串的第一个字符。 的后n固定字符,则应该字符串形成随机字符追加(从unicode的范围内选择均匀地伪随机 ,以~(码32至126)),以形成所述初始之一的长度的字符串。 您应该每秒至少输出20行(稍后再详细介绍):每个行将具有相同的n首字符,但随机结尾不同。 目前尚不清楚您应该做什么,所以让我们来看一个例子: 例 我每秒钟只打印5条不同的行,而不是20条最小值,只是为了使其更具可读性。 考虑输入abcde。 在第一秒内,有效输出可能类似于(完全随机): dGuT4 S!jkN "gQ>[ TU3! *fAjV 然后,t=1每个后续字符串a的第一个字符将是(输入的第一个字符): a);jD aHv^p aqw5* a|.?: a{gbK 现在,,t=2前两个字符为ab: abTJ" ab\ e ab3T# abYWS ab"#< 现在,t=3前三个字符为abc: abcvW abc3G abc(g abc{@ abc@4 现在,t=4前四个字符为abcd: abcdD abcdv abcdj abcd$ abcd6 最后,t=5我们打印输入(仅一次): abcde 一些精度 您不应该对秒级的语言精度太费心(例如,如果您的算法正确但系统/语言缺乏精度,那就很好了)。 第一秒可以短于一秒(也就是说,如果您在一秒钟内启动程序,则第一秒可能只是直到当前秒结束为止的剩余时间)。或者换句话说,您不必等待新的一秒开始打印输出。 …

30
亚历克斯风格的加法
受亚历克斯(Alex)光荣的启发,学习R成为一个很好的例子,我们将谦虚地重建亚历克斯(Alex)的“一个真正的R程序”-但要有所作为。 Alex风格的加法就是这样的-它有90%的机会简单地返回给定的两个数字的和,还有10%的机会递归Alex加上第一个数字和第二个数字+1。这意味着,潜在地,则相加可能相差1或更多。 挑战 编写一个完整的程序或函数,该程序或函数需要两个整数并按定义将它们相加。您可以假设如果您的语言没有尾递归,则程序不会堆栈溢出。(请注意,只要概率相同,就不必递归实现它。) 参考实现(Groovy) int alexAdd(int a, int b) { int i = new Random().nextInt(11); if(i == 1) { return alexAdd(a,b+1); } else { return a + b; } } 在线尝试这个小提琴。 排行榜 var QUESTION_ID=66522,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 …

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 输出: 这是一条重要规则:您的程序必须仅绘制形成边框的线。这意味着您不能简单地完全绘制圆,然后用白色填充将圆绘制得稍小一些,因为该方法仍会绘制不形成边界的线,之后只会将其覆盖。该规则的目的是防止“绘制圆,然后用白色填充再次绘制圆”的实现或类似的方法。预计答案将在绘制之前实际计算出绘制对象的位置。 这是代码高尔夫球,因此最短的字符数获胜。

30
如何随机化单词中的字母
根据一个有争议的故事,对于拉德尼格来说,杂乱无章的杂物对拉德尼格的影响不大,就像伊诺格像原始杂物杂乱无章的拳头一样。 因此,为了好玩,将单词中的字母顺序随机化而又将第一个和最后一个字母保留在原位的最短函数是什么? 这是我使用JavaScript的目的。删除的所有空格都为124130个字符。 function r(w) { var l=w.length-1; return l<3?w:w[0]+w.slice(1,l).split("").sort(function(){return Math.random()-.5}).join("")+w[l]; } 总是欢迎使用较短的JavaScript。 编辑:添加了长度检查。简短的功能不应失败。

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

30
你会打高尔夫球吗?
您需要生成一个随机的18洞高尔夫球场。 输出示例: [3 4 3 5 5 4 4 4 5 3 3 4 4 3 4 5 5 4] 规则: 您的程序必须输出正好18个孔的孔长度列表 每个孔的长度必须为3、4或5 整个过程中,孔长总计必须为72 您的程序必须能够产生具有某些非零概率的每个可能的孔配置(每个配置的概率不必相等,但是在这种情况下,可以随时要求额外的荣誉)

24
在没有Y的情况下做X
通常,据说“不做Y就做X”可能是初学者写作挑战的陷阱(来源)。但是,我很自大,并且认为我绝对可以在没有Y的情况下做出X。随便 哦,是的,这会很好。 挑战:给定一个n大于或等于1 的奇数整数,输出n由无可打印的ascii字符(“ y”和“ Y”)组成的边长的ex ,以及空格。所有允许的字符都必须有非零的出现机会,但不一定是统一的。这是一个代码高尔夫球,因此以字节为单位的最短代码获胜。但是,您应该将每个字符随机化-也就是说,除非有偶然的机会,否则ex的支撑不应相等。 出现的字符 !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXZ[\]^_`abcdefghijklmnopqrstuvwxz{|}~" 构建前 边长1 x 边长3: x x x x x 边长5: x x x x x x x x x 等等 输出示例 input output empty line 3 h 2 ^ 9 5 1 : 5 D 1 W z W q j …

30
追加字符串长度
挑战: 给定s字符a- z,A- Z,0- 上的字符串9,将其长度附加s到其自身,将长度中的其他字符计为的总长度s。 输入: 只是任意长度的字符串(可以为空)。 输出: 相同的字符串,但其长度附加到末尾。代表长度的字符也应算作长度的一部分。如果要附加多个有效长度,请选择最小的长度(有关示例,请参见测试用例)。 测试用例: INPUT -> OUTPUT // Comment aaa -> aaa4 -> 1 // Empty string aaaaaaaa -> aaaaaaaa9 // aaaaaaaa10 would also normally be valid, but violates using the smallest number rule mentioned above aaaaaaaaa -> aaaaaaaaa11 a1 -> a13 // Input …
51 code-golf  string  code-golf  string  random  code-golf  array-manipulation  code-golf  ascii-art  kolmogorov-complexity  random  code-golf  array-manipulation  code-golf  stateful  code-golf  hello-world  code-golf  string  code-golf  interpreter  lisp  code-golf  restricted-source  quine  palindrome  code-golf  ascii-art  random  generation  challenge-writing  ascii-art  random  polyglot  maze  answer-chaining  string  cops-and-robbers  whitespace  code-golf  string  cops-and-robbers  whitespace  code-golf  number  sequence  code-golf  date  code-golf  ascii-art  decision-problem  code-golf  combinatorics  chemistry  code-golf  kolmogorov-complexity  source-layout  radiation-hardening  code-golf  ascii-art  path-finding  maze  code-golf  string  ascii-art  game  animation  code-golf  string  ascii-art  code-golf  ascii-art  kolmogorov-complexity  code-golf  restricted-source  new-years 

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.