Questions tagged «random»

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

30
随机化直到0
挑战 沙盒发布 给定一个正整数(K)输出一个均匀随机整数(Y)之间[0, K)。 如果Y > 0假设K = Y并重复该过程,直到Y = 0。 规则 输入必须首先打印 您想要的输出格式 Your program must finish. 0 must be the final output, Optionally an empty line instead 0
29 code-golf  random 

30
1 / N的概率
因为没有足够的简单代码挑战,所以: 创建一个可选的未命名程序或函数,给定(通过任何方式)整数1≤N≤10000,以伪随机概率1 / N输出您语言的True值,否则为False。 请注意,命名要求已被删除。随意编辑答案和分数。 某些语言的True和False使用1(或-1)和0,也可以。 例: 输入测试示例: 4 -> True 4 -> False 4 -> False 4 -> False 4 -> False 4 -> True 4 -> False 4 -> False 即给出4;它会以25%的机会返回True,并以75%的机会返回False。

30
聪明人的海市age楼
从前,我在阅读有关Quora的问题/答案 真的有没有计算机科学学位的程序员无法通过FizzBu​​zz测试 此代码是显而易见的答案 for i in range(1, 100): if i % 3 == 0 and i % 5 == 0: print "FizzBuzz" elif i % 3 == 0: print "Fizz" elif i % 5 == 0: print "Buzz" else: print i 当然,FizzBu​​zz已经被打死了,但这并不是这个问题的实质。您会在评论中看到有人提到该答案很不错,因为很容易添加额外条件,例如将“ Jazz”打印为4的倍数。(我不同意。扩展此方案需要O(2 ** n )代码行。) 您的挑战是编写由同行判断的最漂亮的FizzJazzBuzz版本。 选民需要考虑的一些事项: 干 除法/模运算的效率 …
29 popularity-contest  code-challenge  word  popularity-contest  string  grid  language-design  code-golf  source-layout  math  fastest-algorithm  assembly  code-golf  json  code-golf  arithmetic  array-manipulation  code-golf  ascii-art  code-golf  crossword  code-golf  string  restricted-complexity  code-golf  ascii-art  kolmogorov-complexity  code-golf  string  decision-problem  balanced-string  syntax  code-golf  grid  puzzle-solver  hexagonal-grid  code-golf  math  number  sequence  code-golf  string  decision-problem  code-golf  cryptography  king-of-the-hill  code-challenge  fastest-code  code-golf  number  code-golf  code-golf  string  code-golf  cryptography  king-of-the-hill  java  code-golf  number-theory  base-conversion  code-golf  code-golf  array-manipulation  code-golf  array-manipulation  sorting  code-challenge  restricted-source  quine  code-golf  tips  python  king-of-the-hill  code-golf  source-layout  fractal  code-golf  tips  game  king-of-the-hill  path-finding  grid  code-golf  kolmogorov-complexity  natural-language  code-golf  tips  python  code-golf  number  arithmetic  sequence  array-manipulation  code-golf  number  combinatorics  random  integer-partitions  code-golf  string  code-golf  vim  comment  code-golf  combinatorics  counting  code-challenge  rosetta-stone  code-golf  combinatorics  sequence  subsequence  code-golf  code-challenge  restricted-source  primes  printable-ascii  popularity-contest  graphical-output  image-processing 

30
Rand5()至Rand7()
为您提供了一个函数Rand5()。此函数返回1到5之间的完全随机(均分布)整数。 提供函数Rand7(),该函数使用Rand5()产生1到7之间的完全随机整数。

23
基本排序,带有令人讨厌的错误
您的输入是一个包含5-255个正整数的列表/序列/向量/数组,不一定是唯一的。您可以假设最适合的输入格式是什么,并且每个整数(以及整数的数量)都是从5-255范围内随机选择的。 目标是以相同(或等效)格式输出相同列表,但按升序(不降序)排序。学习语言的常见早期练习。提交的内容包括: 正确起作用并达到目标的答案;和 第二个答案包含一个令人讨厌的错误。在1%到10%的时间之间,输出需要是一个格式正确且包含正确元素的列表,但是顺序错误(除了正确排序以外的任何顺序)。其余时间,程序必须正确运行并达到目标。 这两个答案必须具有Levenshtein距离 1;也就是说,我们可以通过删除一个字节,添加一个字节或更改一个字节来获得另一个。 在代码高尔夫球中照常计分(基于两个答案中的较短者),并禁止通常的漏洞。 如果烦人的错误是与输入无关的,则10%的奖金(降低得分),即再次使用相同的输入不会重现该错误(除了1%到10%的时间)。

30
有关人物
背景 有关人物是CBS上的犯罪剧,也是我最近最喜欢的电视节目。 该节目讲述的是一个名叫亿万富翁程序员的哈罗德·芬奇(Harold Finch)和他的搭档约翰·里斯(John Reese)的故事,他是特种部队的资深人士和前中央情报局特工。该程序员创建了一个有感觉的AI,称为“机器”,可以在暴力犯罪发生之前对其进行预测。它通过监视和分析全球所有的监视摄像机和电子通讯,随时跟踪地球上的每个人。 哈罗德(Harold)为美国政府制造了“机器”(The Machine),以事前侦查恐怖活动。它根据预测的犯罪是否与国家安全相关将其划分为列表。相关案件由政府处理,而“无关”列表被编程为每天删除。 哈罗德本人为自己准备了一个后门,希望自己能处理“无关紧要”的清单。此后门会导致机器致电距Harold最近的公用电话(大约每天一次)并向他读取一个社会安全号码。该SSN属于因预谋犯罪而处于生命危险中的人,或正在计划此类犯罪的人。 挑战 编写一个无需输入即可输出30个随机电话号码和SSN的程序(请参见下文)。 输出量 每两天将打印两行文本。 Crime predicted: 555-55-5555 Calling: 1-555-555-5555 跟换行符 此过程应重复一个“月”(30个“天”)。 电话号码 每个电话号码必须包含以下元素: 必须具有美国国家/地区代码(第一位数字)。 必须具有随机区号(第一个三位数字)。 电话号码本身的前三位数字应为555,其后为4位随机数。 这是一个带注释的示例: 1-814-555-3857 | | | | | | | | | | | +----------> random four digits | | | | | +--------------> the set 555 …
28 code-golf  random 

10
玩混沌游戏
该混沌游戏是产生分形的简单方法。给定起点,长度比r和一组2D点,请重复执行以下操作: 从一组要点中,随机(均匀)选择一个。 使用r和1-r作为权重对该点和最后绘制的点(或起点)进行平均(即r = 0表示获得起点,r = 1表示获得随机点,r = 0.5表示您在一半之间得到点。) 绘制结果点。 例如,如果您选取了一个等边三角形的顶点且r = 0.5,则绘制的点将绘制出一个Sierpinski三角形: 在Wikipedia上找到的图片 您要编写一个“玩”混沌游戏以创建分形的程序或函数。 输入项 您可以编写程序或函数,并通过ARGV,STDIN或函数参数接受以下输入: 要绘制的点数。 起始坐标(也必须绘制!)。 区间[0,1]中的平均权重r。 点列表供您选择。 输出量 您可以在屏幕上渲染或写入图像文件。如果对结果进行栅格化,则每侧至少需要600像素,所有点都必须在画布上,并且点的图像水平和垂直范围的至少75%必须用于点(这是为了避免用一个黑色像素回答“它实际上已经缩小了”)。的X和ÿ轴必须在相同的比例(即从(0,0行)到(1,1)必须处于45度角),并在混乱游戏绘制各点必须表示为单个像素(如果您的绘图方法使该点抗锯齿,则该点可能会分布在2x2像素上)。 颜色是您的选择,但是您至少需要两种可区分的颜色:一种用于背景,另一种用于在混乱游戏中绘制的点。您可能但不必绘制输入点。 请在答案中包括三个有趣的示例输出。 计分 这是代码高尔夫球,因此最短的答案(以字节为单位)获胜。 编辑:您不再需要绘制输入点,因为它们无论如何都不会作为单个像素真正可见。

1
那是谁PRNG?
给定一个由625个32位无符号整数组成的序列(即在范围内[0, 2**32)),输出以下哪个伪随机数生成器生成了该序列: 线性同余生成器 Xorshift 梅森·扭转者 具体来说,用于此挑战的这三个生成器的C实现如下: #include <stdint.h> /* all code adapted from the sample implementations on the following Wikipedia pages: https://en.wikipedia.org/wiki/Linear_congruential_generator https://en.wikipedia.org/wiki/Xorshift https://en.wikipedia.org/wiki/Mersenne_Twister */ uint32_t lcg_seed; uint32_t xor_x, xor_y, xor_z, xor_w; void lcg_srand(uint32_t seed) { lcg_seed = seed; } uint32_t lcg(void) { lcg_seed = ((uint64_t) lcg_seed * 1103515245 + …

2
马修飓风和闪电
挑战 受此挑战和令人讨厌的马修飓风的启发,我们将动态生成一些闪电。 n = 15: \ /\ / \ / / /\ /\ / \ \ / / /\ /\ \ / / \ /\ \ /\ / \ \ /\ / \ \ /\ 输入项 正整数n确定闪电轮的深度。 规则与约束 /并且\应该使用 指导闪电方向的概率如下: 25%分成2条路径 25%的路径到达死角 剩下25% 25%正确 以下是有关重叠和死角的一些例外情况: 代码不应是确定性的,每次应随机生成一个新的闪电 螺栓不应重叠:例如,如果当前螺栓的左侧已经有一个螺栓,则当前螺栓应末端或向右移动,但不应向左或分裂(概率仍然适用,在这种情况下,变为50%末端/ 50%正确) 如果不存在另一个可用的拆分路径,则该路径不应结束:例如,在只有1条路径的开始处,该路径应在拆分之前不结束,在有多条路径但除一条路径之外的所有路径均已失效的情况下也适用,(概率变为33%分裂/ 33%向左/ …

30
无效的Invali无效
这个想法大致基于@TùxCräftîñg的聊天消息。 看一下下面的示例序列: INVALID0,INVALID1,INVALID2 INVALID3,INVALID4...INVALID9 之后INVALID9,它像这样继续: INVALI0,INVALI1,INVALI2,INVALI3...INVALI9 之后INVALI9,是这样的: INVAL0,INVAL1,INVAL2,INVAL3...INVAL9 之后,INVAL9是这样的: INVA0,INVA1,INVA2,INVA3,...INVA9 注意我们如何INVALID每次都从单词中删除字母。 您将不断重复此操作,直到到达单个字母,即字母I: I0,I1,I2,I3,I4...I9 现在,您的任务是,像上例一样,输入一个单词,并从中产生一个序列。您的代码还必须使用单个字母,在这种情况下,结果序列将更短。 您可以选择自己喜欢的任何输入和输出格式(根据需要选择带或不带分隔符),但是必须指定选择的格式。 顺序必须严格按照指定的顺序进行。 成功完成此挑战的最短代码(以字节为单位)将赢得挑战。 上例中的完整序列: INVALID0, INVALID1, INVALID2, INVALID3, INVALID4, INVALID5, INVALID6, INVALID7, INVALID8, INVALID9, INVALI0, INVALI1, INVALI2, INVALI3, INVALI4, INVALI5, INVALI6, INVALI7, INVALI8, INVALI9, INVAL0, INVAL1, INVAL2, INVAL3, INVAL4, INVAL5, INVAL6, INVAL7, INVAL8, INVAL9, INVA0, INVA1, …

9
将随机数映射到pi
十进制的双精度表示只能保证15个小数位的精度,因此pi近似为: 3.141592653589793 您可以看到数字3在位置1, 10, 16,数字1在位置2, 4等。 挑战 您的任务是创建一个程序或函数,该程序或函数将创建一个介于0和1之间的随机双数,并将该数字的值映射到pi的值。您可以通过将不同的数字放置在随机数中pi在数字中的位置来实现。如果在pi中找不到该数字,则将其跳过,并且pi中所有不在随机数中的数字都将以表示x。从左侧开始,每个值只能使用一次。 一些示例可能会更清楚地说明这一点。在以下示例中,第一个数字是pi,第二个是随机数,最后一个是所需的输出。 3.141592653589793 0.111111111111111 x.1x1xxxxxxxxxxxx 3.141592653589793 0.531000000000000 3.1xx5xxxxxxxxxxx 3.141592653589793 0.123456789123456 3.141592653x8x7xx 3.141592653589793 0.967552381459391 3.14159265358979x 规则: 该函数不应接受任何输入(可能的异常在项目要点3中进行了说明) 输出应仅由输出字符串组成,并带有可选的换行符(也可以接受单个尾随空格) 如果您的程序没有内置的Pi值和/或RNG,则可以对Pi进行硬编码,然后将随机数作为输入。您不能对随机数进行硬编码或将Pi用作输入。 Pi的硬编码值和15个随机数字(可以跳过,0.因为您知道它在0到1之间)都将包括在字节数中。 如果您的语言没有要求的精度,则可以在以下限制下使用较低的精度 Pi的数字必须精确到您所拥有的精度 输出的值不能超过保证正确的值,即,如果精度只允许8个精确的小数,则不能输出15位数字。 即使您的程序仅支持8位数字,Pi的硬编码值也将计为16个字节(不需要小数点)。 随机数的输入值将计为15个字节(您不需要0.。这是因为精度较低的语言不应有不公平的优势。 该程序必须支持5位小数精度(至少)。 编辑:要验证答案:应该以某种方式打印随机数,但是此操作不必包含在字节数中。因此,例如,如果可以print r在脚本末尾插入a ,则该部分不会增加得分。 如果它是另一项必要操作的一部分,则不能减去这些字节。也就是说,如果代码是print pi, r,则只能减去, r。 如果你要插入的部分代码中的几个地方,请包括两个版本(一个是打印出随机数,并且不带有注释,如一个:_p和_oNo,需要打印的随机数_p确实xxx和_oNo不yyy。_p并且_oNo不会包含在字节数中。 以字节为单位的最短代码获胜。 排行榜 这篇文章底部的Stack Snippet会根据答案a)生成目录,a)作为每种语言最短解决方案的列表,b)作为整体排行榜。 为确保您的答案显示出来,请使用以下Markdown模板以标题开头。 ## Language Name, N bytes …
27 code-golf  string  random  pi 

7
保证寓言
这里有很多人可能是XKCD的狂热读者。因此,我想我会挑战你们做梅根可以轻松完成的事情:制作一个脚本,生成有关计算机永远无法做的数千个令人放心的寓言。 你的剧本 可以用任何语言写 必须代码编码 必须输入stdin将要吐出的寓言数量(使用或等同于您的语言)(您可以假设此数量不会超过MAX_INT或等同)。 将输出许多随机生成的寓言。 寓言如下 以。。开始 'Computers will never ' 接下来,您可以自由选择16个独特的英语动词之一来优化程序,但必须包括code-golf和understand。 接下来,是16个唯一的英语名词之一,您可以再次自由选择以优化程序,但必须包括a salad和an octopus。 接下来,您可以自由选择16个独特的英语子句之一来优化程序,但必须包括for fun和after lunch。 以换行符(\n或等效字符)结尾 因此,例如,如果输入为2,则有效输出为 Computers will never code-golf a salad for lunch Computers will never hug a tree in vain 程序大小以字节为单位,而不是以字符为单位(因此,无Unicode乱码)。不允许出现标准漏洞。 这是我的第一个挑战,因此,如果我应该进行一些明显的更改,请发表评论。 编辑:我正在考虑从字节数中减去字典大小,以鼓励字典“压缩”。我将从未来的答案中看出这是否遥不可及;如果是这样,您可以指望奖金。

30
随机选择plinko样式的字符
让我们看看您选择的语言在选择性随机方面的表现如何。 给定4个字符,A,B,C,和D,或4个字符的字符串ABCD 作为输入,具有以下概率的字符输出之一: A 应该有1/8(12.5%)的机会被选中 B 应该有3/8(37.5%)的机会被选中 C 应该有2/8(25%)的机会被选中 D 应该有2/8(25%)的机会被选中 这与以下Plinko机器布局一致: ^ ^ ^ ^ ^ ^ A B \ / ^ C D 您的答案必须真正地尝试遵守所述的概率。正确解释您的答案中的概率是如何计算的(以及为什么它们尊重规范,而忽略伪随机和大数问题)就足够了。 计分 这是代码高尔夫球,因此每种语言中最少的字节会获胜!

28
您可以掷出多少个骰子而不掷出最可能的数字
问题 从n=2骰子开始: 辊n骰子,与每个数为1〜6同样有可能在每个管芯上。 检查它们的总和是否等于n骰子的最可能总和3.5*n。 如果相等,则终止。 否则,打印n,并从一开始就重复n+2骰子 您的代码不必完全执行此过程,但应根据我们对randomness的定义,在概率上与之等效的随机输出。 您的程序应将所有数字单独输出。例如,如果程序最多有8个骰子,并用8个骰子掷出最可能的数字,则输出为: 2 4 6 示例运行 在2个骰子上,7是最可能的和。假设滚动的数字是2和3。然后,您将打印2。 在4个骰子上,14是最可能的和。比方说推出的数字是3,4,2,和5。然后,总和为14,因此程序将在此处终止。 在这种情况下,最终输出为"2"。 规则 代码高尔夫球,以字节为单位的最短解决方案获胜 适用标准漏洞 随机性的元定义适用 您可以使用函数也可以使用程序
26 code-golf  random 

11
赌徒的谬误骰子
赌徒的谬误是一种认知偏见,我们错误地期望将来发生的事情不太可能在将来发生,而一段时间内未发生的事情在不久之后更可能发生。您的任务是实现特定版本。 挑战说明 编写一个函数,返回一个介于1到6之间(含1和6)的随机整数。问题是:第一次运行该函数时,结果应该是统一的(在1%以内),但是,每个后续调用都将偏向于那些以前滚动次数较少的值。具体细节如下: 骰子记得到目前为止生成的数字计数。 每个结果加权以下公式:countmax−countdie+1countmax−countdie+1count_{max} - count_{die} + 1 例如,如果卷数到目前为止是[1,0,3,2,1,0][1,0,3,2,1,0][1, 0, 3, 2, 1, 0],权重将是[3,4,1,2,3,4][3,4,1,2,3,4][3, 4, 1, 2, 3, 4],也就是说,你将4倍的可能性滚222比333。 请注意,该公式表示[a,b,c,d,e,f][a,b,c,d,e,f][a, b, c, d, e, f]的滚动结果的权重与[a+n,b+n,c+n,d+n,e+n,f+n][a+n,b+n,c+n,d+n,e+n,f+n][a + n, b + n, c + n, d + n, e + n, f + n] 规则与假设 适用标准I / O规则和禁止的漏洞 模切辊不应确定。(即,使用从易失性源中植入的PRNG,通常作为内置源使用。) 您的随机来源的周期必须至少为65535,或者是真正的随机性。 重量不得超过255,分配范围必须在1%以内 …
26 code-golf  random 

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.