Questions tagged «random»

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

1
拆弦!
挑战 给定一个字符串输入,输出它的已删除版本。 流程 P r Pr r o o o g g g r r r rogr r a -> a -> a -> a -> a -> -> -> -> -> m m m m m m m m m m mmar m i i i i i i …

14
用零填充文件
今天的任务是获取一个现有文件,并将零添加到该文件,直到达到一定大小为止。 您必须编写一个程序或函数,该程序或函数采用当前目录中文件的名称f和字节数b。在保留的原始内容的同时f,您必须在末尾写入零(空字节,而不是ascii 0),以便其新大小为b字节。 您可以假设名称中f仅包含字母数字的ascii,您对此具有完全权限,其初始大小不大于b,但可能与一样大b,并且有无限的可用磁盘空间。 您可能不会假设f它是非空的,或者它不已经包含空字节。 执行结束后,不应修改其他现有文件,也不应该存在新文件。 测试用例 f的内容| b | f的结果内容 12345 | 10 | 1234500000 0 | 3 | 000 [空] | 2 | 00 [空] | 0 | [空] 123 | 3 | 123
12 code-golf  file-system  code-golf  code-golf  string  code-golf  string  code-golf  random  game  compression  code-golf  array-manipulation  sorting  code-golf  number  arithmetic  primes  code-golf  geometry  code-golf  code-golf  decision-problem  regular-expression  code-golf  string  math  code-challenge  restricted-source  integer  palindrome  code-golf  string  palindrome  code-challenge  busy-beaver  code-golf  ascii-art  code-golf  string  code-golf  string  permutations  code-golf  code-golf  string  permutations  code-golf  number  primes  function  set-theory  code-challenge  hello-world  code-golf  math  number  decision-problem  code-golf  code-golf  sequence  arithmetic  integer  code-golf  math  number  arithmetic  decision-problem  code-golf  kolmogorov-complexity  alphabet  code-golf  combinatorics  graph-theory  tree-traversal  code-golf  set-theory  code-golf  interpreter  brainfuck  substitution  code-golf  quine  permutations 

10
孩子们洗牌
洗牌对孩子来说很难,因此他们必须想出办法,尽可能简单地获得合理的洗牌。 一种取得相当好的结果的方法是: 取出顶部卡并将其随机插入卡座中 取出底部卡并将其插入卡座中的随机位置 继续,直到您认为足够好为止。 请注意,切勿将卡插入顶部或底部,应将其放置在卡座中的某个位置。 取而代之的洗牌中,我们将洗牌字母数字字符:0-9,A-J,a-j,q-z和Q-Z。 从下面显示的字符串开始,然后按照上述方法对字符进行随机排列。您可以选择是否要继续无限次随机播放或随机播放100张卡片(顶部100张卡片,底部100张卡片)。 0123456789abcdefghijqrstuvwxyzABCDEFGHIJQRSTUVWXYZ 挑战在于显示正在改组的字符。每个“随机播放”(取出并插入卡)应花费0.25至0.35秒。 下面的gif显示了示例输出: 这是代码高尔夫球,因此以字节为单位的最短代码获胜。 “你为什么不有a-t,而不是a-j,q-z?” 因为这将说明卡片套装,而不仅仅是字符。是的,有5套西装。 注意:我已决定停止在code-golf -challenges 上使用选中标记。这里和这里的相关元文章。

1
随机南瓜补丁
前几天,我正走过南瓜地参加生日聚会,注意到南瓜藤蔓上有一个漂亮的图案,有漩涡,毛圈和分支。我们将在这里使用一些ASCII艺术进行模拟。 (()) \ p--q p-----q / \ / \ (()) b--d (()) 葡萄藤构造规则 只有一个主蔓,仅由\ / - p q b d字符组成。 藤蔓仅从左到右穿过屏幕。换句话说,假设您是从最左边藤蔓字符开始的蚂蚁。在前进到主葡萄树上的下一个相邻角色时,必须向右移动一列-绝不能向左移动。 当藤蔓改变方向时,需要一个p q b d字符来模拟一个循环。在p加入藤蔓东北向东行驶,在q东向东南,在b从东南到东部,d从东部到东北。请注意,字母的“循环”连接到水平的藤蔓,字母的“茎”连接到对角线。 藤蔓的起点必须是p或b(您可以选择,不一定是随机的)之一,并且水平开始。藤蔓的末端必须是q或d(您可以选择,不一定是随机的)之一,并且必须水平末端。 请注意,可以将循环放置在与其他循环紧邻的位置(例如,pd是葡萄树的有效子串),但这可能会使以后放置南瓜更加困难。您可能希望总是- / \在循环后立即拥有其中之一(就像我在示例中所做的那样),但这不是必需的。 南瓜规则 南瓜仅由(())(确切的字符串)组成。 南瓜是从主葡萄藤上附着的。这些分支只能附加到p q b d环上,长度恰好一个\或/长度,并附加到南瓜上,因此分支的“末端”位于中间。 它们可以连接在主葡萄树的上方或下方。 分支可以连接到“左侧”。 每个分支只能附加一个南瓜,每个循环只能附加一个分支。 随机性 在水平行驶时,葡萄藤有50%的机会继续水平行驶,有25%的机会向东北转动,有25%的机会向东南转动。 当沿对角线行驶时,葡萄树有90%的机会水平转弯,而有10%的机会继续对角线行驶。 尽管允许更多匝数,但必须有足够的匝数来支持输入的南瓜数量。 藤蔓建成后,可以将南瓜随机放置在尚未被南瓜占据的任何角落。 南瓜不能与葡萄藤或其他南瓜重叠。 挑战 给定输入数字,请按照上述规则输出随机南瓜补丁。使用相同的输入多次执行代码应产生不同的结果。给定输入数字的所有可能的南瓜补丁应具有一定(不一定相等)的非零发生机会。 输入值 一个整数n,以任何方便的格式表示补丁中南瓜的数量。为了简化代码,您可以假设输入为0 < n …

3
音位错误
性格 我们将这些Unicode字符称为英语IPA辅音: bdfhjklmnprstvwzðŋɡʃʒθ 我们将这些Unicode字符称为 英语IPA元音: aeiouæɑɔəɛɜɪʊʌː (是的,ː这只是长元音标记,但出于此挑战的目的,请将其视为元音。) 最后,这些是主要和次要压力标记: ˈˌ 注意,ɡ(U + 0261)不是小写的g,主应力标记ˈ(U + 02C8)不是撇号,并且ː(U + 02D0)不是冒号。 你的任务 给出一个单词,将元音堆叠在跟随的辅音之上,并将重音标记放置在其跟随的辅音下方。(正如问题标题所暗示的,这样的书写系统将辅音元音序列作为一个单元打包在一起,称为abugida。)给定输入ˈbætəlʃɪp,产生输出: æə ɪ btlʃp ˈ 甲字被保证是声母,韵母和应力标记的字符串,如上面所定义。永远不会有连续的重音标记,它们将始终放置在单词的开头和/或辅音之前。 测试用例 可能有连续的元音。例如,kənˌɡrætjʊˈleɪʃən变为 ɪ ə æ ʊeə knɡrtjlʃn ˌ ˈ 如果一个词以元音开头,打印在“基线”与辅音:əˈpiːl变 ː i əpl ˈ 一个测试用例的初始,强调元音:ˈælbəˌtrɔs变 ə ɔ ælbtrs ˈ ˌ 一句话:ˌsuːpərˌkaləˌfrædʒəˌlɪstɪˌkɛkspiːæləˈdoʊʃəs变成 æ ː ː ʊ uə aə …

2
解释基普尔!
介绍 Kipple是Rune Berg于2003年3月发明的基于堆栈的深奥编程语言。 Kipple有27个堆栈,4个运算符和一个控制结构。 堆栈 堆栈被命名为a- z并包含32位带符号整数。还有一个特殊的堆栈,@使输出数字更加方便。当将数字压入时@,实际上将压入该数字的ASCII值。(例如,如果您将12推到@,它将推49,然后推50。@) i在执行程序之前,将输入压入输入堆栈。解释器将i在执行之前要求存储值。执行完成后,输出堆栈上的所有内容o都会弹出以ASCII字符形式输出。由于这是Kipple唯一的IO机制,因此无法与Kipple程序进行交互。 经营者 操作数可以是堆栈标识符或带符号的32位整数。 推送:>或< 语法:Operand>StackIndentifier或StackIndentifier<Operand Push运算符将操作数向左移并将其推入指定的堆栈。例如,12>a将值12推入stack a。a>b将从堆栈中弹出最高值a并将其推入堆栈b。弹出空堆栈总是返回0 a<b相当于b>a。a<b>c从弹出最高值,b并同时推入c和a。 加: + 句法: StackIndentifier+Operand Add运算符将堆栈上最顶层项目和操作数之和压入堆栈。如果操作数是堆栈,则从中弹出值。例如,如果堆栈的最高值为a1,a+2则将3压入堆栈。如果a为空,a+2则将2推入。如果堆叠的最值a和b是1和2,然后a+b将从栈中弹出的值2 b和3推入堆栈a。 减去: - 句法: StackIndentifier-Operand 减法运算符的工作方式与加法运算符完全相同,只是它减去而不是加法。 明确: ? 句法: StackIndentifier? 如果最上面的项目为0,则Clear运算符将清空堆栈。 解释器将忽略操作符旁边不存在的所有内容,因此以下程序将起作用:a+2 this will be ignored c<i。但是,添加注释的正确方法是使用#字符。#执行前,a 和行尾字符之间的所有内容都将被删除。ASCII字符#10在Kipple中定义为行尾。 操作数可以由两个运算符共享,例如a>b c>b c?可以写为a>b<c?。 该程序1>a<2 a+a将导致a包含值[1 4](从下到上),而不是[1 3]。对于-操作员也是如此。 控制结构 Kipple中只有一种控制结构:循环。 句法: (StackIndentifier code …
12 code-golf  interpreter  code-golf  string  code-golf  math  string  code-golf  ascii-art  path-finding  code-golf  string  ascii-art  code-golf  interpreter  binary  logic-gates  logic  code-golf  ascii-art  code-golf  graph-theory  code-golf  string  code-golf  number  sorting  code-golf  number-theory  random  cryptography  polynomials  code-golf  number  code-golf  math  number  sequence  code-golf  quine  code-generation  code-golf  arithmetic  set-theory  code-golf  sequence  code-golf  code-golf  string  math  fastest-code  optimization  code-golf  code-golf  internet  stack-exchange-api  code-golf  array-manipulation  code-golf  string  internet  string  code-challenge  internet  test-battery  code-golf  math  pi  code-golf  arithmetic  primes  code-golf  array-manipulation  code-golf  string  code-golf  string  palindrome  code-golf  sequence  number-theory  fastest-algorithm  code-golf  math  number  base-conversion  code-golf  number-theory  sorting  subsequence  search  code-golf  permutations  code-challenge  popularity-contest  code-generation 

3
帮我关上箱子
在发布时,这一挑战的灵感应该非常明显。 任务 您必须创建一个Shut the Box样式程序(不是功能程序)。关闭盒子的基本知识是: 玩家尝试通过转动一组标有1-9的杠杆来关闭盒子。他们必须通过翻转操纵杆来这样做。每个回合的事件顺序如下: 显示了杠杆的当前位置。 在新游戏中,操纵杆的位置应显示为123456789。 在带有关闭杆的游戏中,所有关闭杆均显示为-。例如,在关闭了1、5和9的游戏中,输出为-234-678-。 di(c)e被滚动。 如果杠杆7、8和9都断开,则仅抛出一个六面模。否则,将抛出2个六面骰子。 提示玩家选择他们希望翻转的杆数。 如果玩家选择数字> 9或<0,则游戏结束。 如果玩家选择了已经关闭的手柄,则游戏结束。 玩家选择那么多杠杆。 如果杠杆总和不等于掷出的di(c)e的值,则游戏结束。 如果所有杠杆都关闭,那么恭喜您,您赢了。否则,请返回步骤1。 计划规则 在每一转,您都应该输出控制杆的当前位置。 您必须输出带有短语的纸卷值You rolled:(注意空格)。 您必须提示(并等待)要使用短语切换的操纵杆数量How many levers to flip:(请注意空格)。 您必须提示(并等待)与短语指定的播放器一样多的操纵杆Which lever to flip:(注意空格)。 您必须翻转指定的控制杆。 如果游戏结束,您必须输出Game Over。 如果玩家在没有拉杆的情况下完成转弯,则必须输出 You win! 游戏范例 123456789 You rolled: 5 How many levers to flip: 5 Which lever …
12 code-golf  game  random 

12
重复骰子滚动
给定输入nwhere 3 <= n <= 25,请执行以下步骤,从单面n模具([1, n]包含在内的范围内的面)开始: 以以下形式打印n在游戏中滚动当前面骰子的结果kdn: X(其中X是结果,k是游戏中骰子的数量)。 如果X大于或等于n/2游戏中骰子数量的倍数,请添加骰子。否则,请移开骰子。 如果游戏中的骰子数量等于0或n,请停止。否则,请转到步骤1。 运行示例(请注意,括号中的输出仅供参考,并非必需): 6面 1d6: 4 (avg: 3.0, add) 2d6: 6 (avg: 6.0, add) 3d6: 9 (avg: 9.0, add) 4d6: 16 (avg: 12.0, add) 5d6: 13 (avg: 15.0, remove) 4d6: 9 (avg: 12.0, remove) 3d6: 5 (avg: 9.0, remove) 2d6: 7 …
12 code-golf  random 

3
生成单调函数
总览 在此挑战中,您的任务是在两组之间随机生成单调数学函数。 输入值 您的输入是两个正整数s和n。 让这些输入后,你的程序将生成一个随机的数学函数f从集合到。换句话说,是一个“规则”,它在和之间取一个整数元组,并返回一个这样的整数。此外,在以下意义上应该是单调的。如果和是对每个坐标都成立的两个元组,则。{0,1,...,s-1}n{0,1,...,s-1}fn0s-1fABnA[i] ≥ B[i]if(A) ≥ f(B) 单调函数的确切分布f无关紧要,只要每个这样的函数具有正的生成概率(假设一个完美的RNG)即可。 输出量 您的输出应为的输入和输出的枚举f。它应包含n介于0或之间的所有整数元组,并s-1以某种顺序排列,每个整数后跟的对应输出f。确切的输出格式是灵活的(在合理范围内)。 例子 输入s = 3并n = 2可能产生输出 (0, 0) 0 (0, 1) 1 (0, 2) 2 (1, 0) 0 (1, 1) 1 (1, 2) 2 (2, 0) 1 (2, 1) 1 (2, 2) 2 它只对集合中的所有对都包含{0, 1, 2}一次,并且每个对之后都f带有-value。也满足单调性条件。元组在这里按字典顺序给出,但这不是必需的。 再举一个例子,s = …

25
每日#2随机高尔夫:来自正态分布的数字
关于系列 首先,您可以像对待其他任何代码高尔夫挑战赛一样对待它,并回答它,而无需担心系列赛。但是,在所有挑战中都有排行榜。您可以在第一篇文章中找到排行榜以及有关该系列的更多信息。 尽管我对该系列有很多想法,但是未来的挑战还没有定下来。如果您有任何建议,请在相关的沙箱帖子上让我知道。 漏洞2:来自正态分布的数字 我不敢相信这还没有完成!您将根据正态分布生成随机数。一些规则(大多数提交可能会自动覆盖其中的大多数规则,但其中一些规则已经到位,以确保多种语言之间的结果一致): 您应该将两个非负整数用作输入:种子S和N要返回的数字量。输出应该是N从均值0和方差1的正态分布中得出的浮点数列表。只要您提交的文件具有相同的种子,S它就会产生相同的编号。特别地,如果它被称为一次与次,用中,第一两个输出中的条目应该是相同的。另外,至少2 16个不同的值应产生不同的序列。(S, N1)(S, N2)min(N1, N2)S 您可以使用任何记录在案的内置随机数生成器,从(近似)均匀分布中提取数字,前提是您可以S继续使用它,并且它支持至少2 16种不同的种子。如果这样做,RNG应该能够为您从中请求的任何给定数字返回至少2 20个不同的值。 如果您的可用统一的RNG有一个较小的范围内,是不是seedable,或支持太少种子,您必须先建立一个统一的RNG具有足够大的范围上的顶部内置一个或您必须实现自己的合适的RNG使用种子。此页面可能对此有所帮助。 如果您没有实现生成正态分布的既定算法,请提供正确性证明。无论哪种情况,您选择的算法都必须产生理论上精确的正态分布(除非存在基础PRNG或有限精度数据类型的限制)。 您的实现应使用并返回浮点数(至少32位宽)或定点数(至少24位宽),并且所有算术运算都应使用所选类型的全部宽度。 您不得使用任何与正态分布或高斯积分直接相关的内置函数,例如误差函数或其反函数。 您可以编写完整的程序或函数,并通过STDIN,命令行参数,函数参数或提示接受输入,并通过返回值或通过打印到STDOUT(或最接近的替代方法)产生输出。 S并且N将是非负整数,每个整数均小于2 20。输出可以采用任何方便,明确的列表或字符串格式。 这是代码高尔夫球,因此最短的提交(以字节为单位)获胜。当然,每位用户最短的提交时间也将进入该系列的整体排行榜。 排行榜 该系列的第一篇文章将产生一个排行榜。 为确保您的答案显示出来,请使用以下Markdown模板以标题开头每个答案: # Language Name, N bytes N您提交的文件大小在哪里。如果您提高了分数,可以将旧分数保留在标题中,方法是将它们打掉。例如: # Ruby, <s>104</s> <s>101</s> 96 bytes (目前未显示该语言,但是该代码段确实需要并对其进行解析,并且将来我可能会添加一个语言排行榜。)

1
小钻石方形算法
菱形正方形算法是分形地形(高度图)生成算法。您可以在此处找到不错的说明: http://www.gameprogrammer.com/fractal.html(用作参考。) http://www.playfuljs.com/realistic-terrain-in-130-lines/(很棒的JS实现,也许您可​​能想偷走他的渲染器。在这里看看这种算法可以实现http:// demos的功能。 playfuljs.com/terrain/。) 通常的想法是,您有4个角作为种子(a),并通过平均这四个角并添加一个随机值(例如,介于-0.5和0.5之间)来计算中心点的高度(b)。如果将其应用于网格,您将再次获得菱形网格(正方形斜面45°),并重复相同的(c,d),但随机范围会变小,例如-0.125至0.125等。 您的程序必须接受许多输入: 一个整数l=1,2,3,...,用于确定具有边长的正方形网格的大小2^l+1。在l=10你将不得不储存约一万个号码。 每个角有四个种子(浮点数) 0<h<1确定粗糙度的参数(H在链接中),该粗糙度表示随机范围最初的大小 a,b代表随机范围的初始下限和上限的参数,并h在每个细化步骤中相乘。(随机数在a和之间统一选择b。 输出必须包含完成的2d网格。 因此,粗略算法如下所示: Create a square grid with sidelength 2^l+1 Place seed values in the corners Repeat: | Perform square steps | Refine Range: a = a*h; b=b*h; | Perform diamond steps | Refine Range 您应该注意一个细节:在网格的边界处,您将只有菱形的三个顶点,因此,您也应该仅计算这三个点的平均值。 一些示例的可视化(请告诉我们您使用了哪些参数)是可选的,但值得赞赏,并且当然不会增加字节数。 可以在以下位置找到该算法的稍微变化的实现:并行投影体素地形生成器 我在javascript中创建了一个小的绘图函数,用于将2D高度图替换为灰度图像。http://jsfiddle.net/flawr/oy9kxpsx/ 如果任何人都喜欢3D并可以编写脚本以3D方式查看地图,请告诉我!=)
12 code-golf  random  grid 

2
数论解释器,模n
一个句子数论(我们的目的)的是下列符号序列: 0和'(后继) -后继手段+1,所以0'''' = 0 + 1 + 1 + 1 + 1 = 4 +(加法)和*(乘法) = (等于) (和)(括号) 逻辑运算符nand(a nand b是not (a and b)) forall (通用量词) v0,v1,v2等。(变量) 这是一个句子的示例: forall v1 (forall v2 (forall v3 (not (v1*v1*v1 + v2*v2*v2 = v3*v3*v3)))) 这not x是简写x nand x-实际的句子会用到(v1*v1*v1 + v2*v2*v2 = v3*v3*v3) nand …
12 code-golf  number-theory  parsing  code-golf  kolmogorov-complexity  code-golf  code-golf  array-manipulation  matrix  code-golf  array-manipulation  code-golf  string  code-challenge  graphical-output  compression  code-golf  kolmogorov-complexity  code-golf  sequence  array-manipulation  code-golf  number  base-conversion  code-golf  string  decision-problem  code-golf  string  ascii-art  code-golf  string  random  code-challenge  brainfuck  code-generation  code-golf  code-golf  quine  code-golf  interpreter  code-golf  interpreter  code-golf  array-manipulation  sorting  code-golf  halting-problem  code-golf  javascript  code-golf  algorithm  code-golf  arithmetic  code-golf  math  counting  code-golf  math  code-golf  decision-problem  radiation-hardening  code-golf  conversion  bitwise  code-golf  number  decision-problem  code-golf  string  decision-problem  code-golf  random  game  code-golf  ascii-art  graphical-output  code-golf  decision-problem  binary-tree  tree-traversal  code-challenge  array-manipulation  code-challenge  graphical-output  path-finding  test-battery  algorithm  code-golf  integer  factorial  code-golf  binary-tree  code-golf  grid  graph-theory  code-golf  regular-expression  quine  code-golf  encoding  code-golf  king-of-the-hill  javascript 

11
生成(完全确定的)伪随机比特流
双手被绑在随机的启发下: 目标 这项挑战的目标是编写一个程序,该程序生成一个伪随机位流,该流是一个1和0的字符串,看似纯粹是随机的,但实际上是以确定性方式生成的。您的程序应输出1和0的字符串(带有可选的空格),并应满足以下要求: 在没有时间和内存的情况下,您的程序必须永远继续输出1和0的字符串 您的程序必须在一台合理的机器上在一分钟内输出1000个以上的随机位。如果这个要求是不可能的,那么我会减少它。 字符串可以重复,但是重复段的长度必须大于1000位。 比特串必须通过尽可能多的随机性测试(如下所述)。 该程序不得从任何外部来源获取任何输入,也不得使用任何类似rand()的内置函数。 由于上述要求,该程序每次运行时都必须输出相同的确切字符串。 随机测试#1 目视检查时,伪随机位字符串不得包含任何明显的模式。 随机性测试2(视评论而定) 比特串必须包含1和0的均等分布。为了对此进行测试(以及其他测试方法),将位流分成3位长的段,例如101|111|001。 在所有这些段中,其中的1/8应该有3个1而没有0,其中3/8应该具有2个1和一个0,其中3/8应该具有1个和2个0,以及1/8他们应该没有1和三个0。 随机测试#3 “游程”定义为所有具有相同值的连续比特系列。该字符串1001001110具有三个大小为1(1..1.....0)的行,两个大小为2(.00.00....)的行和一个大小为3(......111.)的行。请注意,运行不会重叠。 在1000个随机位的字符串中,应该有大约250个大小为1的游程,大小为2的125个游程,大小为3的62个游程,等等。通常,对于游程大小R,应该有大约1000/(2**(R+1))该大小的游程。 随机测试#4 前840位分为两半,每个420位。将前半部分的每个位与后半部分的相应位进行比较。这两位应大约占百分之五十的时间。 这是执行测试2到4的Perl程序的源代码。到目前为止,它要求位字符串中不能包含任何空格。 客观的获胜标准时间! 获胜者是通过了所有6项要求和所有随机性测试的程序,其程度与随机性没有区别。如果有多个程序可以完成此任务,则花费时间最多的重复程序将获胜。如果有多个程序可以完成此任务,那么我可能不得不寻找更多的随机性测试来充当决胜局。

11
生成棒球音高字符串
目标 编写一个程序或函数,该程序或函数需要一个正整数,n并随机生成一系列合法的长度的音高(此后称为音高字符串)n。 输入值 非零正整数n<= 100 输出量 返回一个随机字符串或字符列表,这些字符串或字符串表示可能的有效音调字符串length n。使用的字符将是: B-球。如果您累积了其中的4个,击球手就会走动并击球。 S-罢工。如果您累积了其中的3个,击球手就没电了,击球完毕。 F-犯规。也将增加打击次数,但无法击退击球员。即,您不能让Foul成为有效字符串中的最后一个音调。超过两次罢工/犯规的任何犯规都不会增加罢工的次数(击球手此时已经有2次罢工,而第3次将使他退出)。 H-命中。击球手将球击中并完成击球。 (这被略微简化,但是您不必担心) 有效的音高字符串是指以三振,步行或击球结尾的字符串。 即,无效的音高字符串具有 在第4球,第3击或击中之后的其他投球 在产生第四个球,第三个打击或命中之前终止。 规则 您的程序必须能够针对给定的输入产生所有可能的结果。 您的程序不必一定是随机的,但仍必须遵循以前的规则。 这是代码高尔夫球。 例子 Input => Possible Outputs 1 => [H] #Can only end with a hit 2 => [S,H], [B,H], [F,H] #Can only end with a hit 3 => [S,S,S], [F,F,S], …

13
怪异和野豆游戏
也许你们中有些人已经知道这个游戏:您有一系列不同颜色的软糖。对于每种颜色,豆子都有不同的口味,有些是好,有些是坏,您不能一概而论。您必须选择一种给定颜色的豆,然后祈祷您选择了一个好的豆。 因此,编写最短的程序以接收您选择的颜色(从给定列表中选择),并随机返回所选的口味。必须从内置列表中挑选口味。输入和输出的可能列表为: Input Output choices [only one from the list] -------------------------------------------------- green lawn clippings, lime, mucus, pear yellow rotten eggs, buttered popcorn blue toothpaste, blue berry orange vomit, peach brown canned dog food, chocolate white stinky socks, tutti-frutti, baby diapers, coconut 规则: 您可以假定输入将始终是输入选择中的一种颜色。 大小写和尾随空格和/或换行符无关紧要。 输出必须一致地是随机的:成功的程序执行必须产生不同的结果,并且列表中的所有口味获得给定口味的机会必须相同。 这是代码高尔夫球,所以最短的程序可能会赢!

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.