Questions tagged «random»

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

30
随机大写
任务 您的任务是创建一个程序或函数,在给定输入的情况下,将输入文本输出为带有大写字母的随机字母,同时将已经大写的字母保持为大写字母。 小写字母大写的每种组合都应该是可能的。例如,如果输入是abc,应该有输出任何以下组合中的一个非零的概率:abc,Abc,aBc,abC,ABc,AbC,aBC或ABC。 输入值 您的输入是一个字符串,包含任意数量的可打印ASCII字符,例如Hello World。该输入的输出包括HeLLo WoRlD,HElLO WOrld等 计分 这是代码高尔夫,因此每种语言中最短的答案会获胜!

30
那是很多猴子
在无限猴子定理指出,考虑到无限的时间,一台机器发送的随机字符络绎不绝永远键入任何给定的文本。 在我看来,这是一个挑战的好主意。 处理 为了猴子化字符串A,应采取以下步骤: 取一个空字符串。我们将其称为字符串B。 选择一个统一可随机打印的ASCII字符(范围0x20为到的0x7E字符),然后将该字符添加到B中。 如果A是B的子字符串,则B是我们的猴子化字符串。否则,重复步骤2,直到A是B的子串。 此过程仅是示例,根据您的语言,可能存在更简便的方法。只要获得相同的输出分配,就不需要完全遵循此方法。 挑战 编写一个程序或函数,该程序或函数将给定任何合理格式的非空字符串,然后返回该字符串的猴子化版本。 您的程序实际上只需要为长度为3或更短的输入工作。对于较长的输入,无论有无输出,都允许提早终止。 例 不幸的是,由于该问题的随机性和大量的输出,很难为该问题创建示例。 但是,我可以在Hastebin上为输入提供一个示例hi。 计分 由于这是代码高尔夫球,因此字节数最少的提交将获胜。

9
Quixels-量子像素
介绍 quixel是一个量子像素。与经典像素类似,它用3个整数值(红色,绿色,蓝色)表示。但是,Quixel处于这三个状态的超级位置,而不是组合状态。该超高位置仅持续到观察到该quixel为止,在该点上它折叠为三个经典像素之一;RGB(255,0,0),RGB(0,255,0)和RGB(0,0,255)。 规格 表示 每个QUIXEL被表示为3点的整数0和255之间的阵列r,g并b分别。 超级职位 每个QUIXEL是在红色,蓝色和绿色状态之间的超级位置由下式表示R,G并B分别。 观察 观察到每个轴对偶时,它会崩溃为三种状态之一。每个古典状态的概率R = (r + 1) / (r + g + b +3), G = (g + 1) / (r + g + b + 3)和B = (b + 1) / (r + g + b + 3)。这样,每个古典状态总是以非零的出现概率出现。 输入值 该函数或程序应拍摄一个Quixel图像。如何做到这一点很灵活。文件名,使用多维数组等都可以接受。 输出量 函数或程序应生成经典像素的图像。此生成图像的数据结构也很灵活。请注意,所有的像素应该是这三个中的一个:RGB(255,0,0),RGB(0,255,0)和RGB(0,0,255) 输出不应确定 …

9
蛇化字符串
修饰后的字符串如下所示: T AnE eOf ifi ing h s x l A k e r isI amp Sna dSt 你的任务 取一个字符串s和一个size n,然后输出连串的字符串。输入ThisIsAnExampleOfaSnakifiedString和3将产生上面的示例。 技术指标 s 只会在代码点33和126之间(含端点)包含ASCII字符(不包含空格或换行符)。 s 长度在1到100个字符之间。 n是一个整数,代表每个输出字符串段的大小。组成“蛇”中曲线的每一行字符(上/下或左/右)都是n字符长。有关示例,请参见测试用例。 n 介于3到10之间(含3和10)。 输出字符串始终开始指向下方。 每行上都可以使用尾随空格。 在输出末尾也可以尾随换行符。 不允许前导空格。 code-golf表示以字节为单位的最短代码获胜。 测试用例 a 3 a ---------- Hello,World! 3 H Wor e , l llo d! ---------- ProgrammingPuzzlesAndCodeGolf …
35 code-golf  string  ascii-art  code-golf  code-golf  string  balanced-string  decision-problem  code-golf  string  geometry  grid  code-golf  tips  lisp  code-golf  quine  tips  king-of-the-hill  code-challenge  math  code-golf  string  palindrome  math  fastest-code  code-golf  string  counting  code-golf  code-golf  internet  code-golf  quine  source-layout  hello-world  code-golf  math  number  sequence  arithmetic  code-golf  ascii-art  grid  code-golf  number  grid  code-golf  string  crossword  code-golf  code-golf  ascii-art  grid  counting  code-golf  code-golf  math  sequence  arithmetic  number-theory  code-golf  code-golf  graphical-output  geometry  random  code-golf  ascii-art  grid  counting  code-golf  string  ascii-art  code-challenge  test-battery  code-golf  string  code-golf  ascii-art  kolmogorov-complexity  code-golf  interpreter  code-golf  math  sequence  code-golf  math  primes  set-partitions  code-golf 

30
每日随机高尔夫#1:随机排列
关于系列 我将围绕随机性主题运行一系列代码高尔夫球挑战。这基本上是一个9洞 高尔夫球场,但涉及多个问题。您可以单独参加任何挑战,就像是正常问题一样。 但是,我将在所有挑战中保持领先。该系列将运行9个挑战(目前),每隔几天发布一次。参加所有9个挑战的每个用户都有资格赢得整个系列赛。他们的总体分数是每个挑战中最短提交的总和(因此,如果您回答一次挑战两次,则只有得分更高的一个才计入分数)。如果有任何人在28天的时间里保持排行榜榜首,我将奖励他们500代表。 尽管我在本系列中有很多想法,但未来的挑战还没有定下来。如果您有任何建议,请在相关的沙箱帖子上让我知道。 漏洞1:随机排列数组 第一项任务非常简单:给定一个非空的整数数组,将其随机洗牌。但是有一些规则: 必须以相同的概率返回所有可能的排列(因此,混洗应具有均匀的分布)。您可以通过在Will It Shuffle上的JavaScript中实现算法来检查算法是否统一/无偏,这将生成偏差矩阵-结果看起来应与内置的Fisher-Yates或sort(随机顺序)一样均匀。 您不得使用任何内置方法或第三方方法来随机排列数组或生成随机排列(或枚举所有排列)。特别是,您可能使用的唯一内置随机函数是一次获取一个随机数。您可以假定任何内置随机数方法都在O(1)中运行并且在请求的间隔内完全统一(从数学意义上讲,您可以在此处忽略浮点表示的详细信息)。如果您的语言允许您一次获取m个随机数的列表,则可以使用此功能,前提是m个数彼此独立,并将其计为O(m)。 您的实现不得超过O(N)的时间复杂度,其中N是要改组的数组的大小。例如,您不能“按随机数排序”。 您可以在适当位置随机排列数组,也可以创建一个新数组(在这种情况下,可以根据需要修改旧数组)。 您可以编写完整的程序或函数,并通过STDIN,命令行参数,函数参数或提示接受输入,并通过返回值或通过打印到STDOUT(或最接近的替代方法)来产生输出。如果编写的函数可以在适当的位置随机排列数组,那么您当然不需要返回它(前提是您的语言允许您在函数返回后访问修改后的数组)。 输入和输出可以是任何方便的列表或字符串的格式,但必须支持任意的整数范围-2 31 ≤X <2 31。原则上,您的代码应适用于长度最大为2 31的数组,尽管这不一定必须适合您的内存或在合理的时间内完成。(我只是不想看到硬编码循环或其他内容的任意大小限制。) 这是代码高尔夫球,因此最短的提交(以字节为单位)获胜。 排行榜 以下代码片段将在该系列的所有挑战中产生一个排行榜。 为确保您的答案显示出来,请使用以下Markdown模板以标题开头每个答案: # Language Name, N bytes N您提交的文件大小在哪里。如果您提高了分数,则可以通过打败旧分数来保持标题。例如: # Ruby, <s>104</s> <s>101</s> 96 bytes (目前未显示该语言,但是该代码段确实需要并对其进行解析,并且将来我可能会添加一个语言排行榜。) 显示代码段 /* Configuration */ var QUESTION_IDs = [45302, 45447, 46991, 49394, 51222, 66319, …

30
创建一个魔术8球
小时候,我的朋友有一个神奇的8号球,我们会问这个问题,看看这个问题的命运是什么。 挑战 您面临的挑战是编写一个程序(或函数),在运行(或调用)时,从以下可能的答案中输出(或返回)随机答案。(随机为:each output should have a nonzero chance of occurring but they do not need to meet any other criteria) 魔术8球的可能答案是(不区分大小写): It is certain It is decidedly so Without a doubt Yes definitely You may rely on it As I see it, yes Most likely Outlook good Yep Signs …

30
Code Golf:您自己的宠物ASCII蛇
因此,我给自己写了一条单线纸,在控制台上打印了一条蛇。有点有趣,我想知道如何压缩我的代码... 这是一个(简短的)示例输出: + + + + + + + + + + + + + + + + + + + + 规格如下: 在每行中,一个非空白字符(随您喜欢)将被打印到控制台,最初在其左侧填充29至31个空格。 每次迭代,都会在这三个动作之间做出随机决定 填充量减少1 填充量保持不变 填充量增加1 这样做30次,以在控制台上打印一条30段长的蛇。 以字节为单位的最短答案将获胜。

29
疯狂的8s码高尔夫
创建一个程序,该程序打印一个间隔内的所有整数(包括两端)(a, b),并用随机(均匀分布,独立于其他字符),非数字,非空格,可打印的ASCII字符替换序列中8的倍数。 假设在所有情况下0 <a <b。 如果数字超过1位,请确保替换字符数匹配! 例子: (1, 16) -> 1 2 3 4 5 6 7 $ 9 10 11 12 13 14 15 n@ (115, 123) -> 115, 116, 117, 118, 119, :F<, 121, 122, 123 (1, 3) -> 1 2 3 非示例: (1, 16) -> 1 2 …

28
选择强力球号码!
强力球是最近引起美国关注的彩票,因为当前的累积奖金(截至2016年1月11日)是历史上最大的乐透奖金,约为15亿美元。 强力球运动员从69个编号的白球中选择5个不同的数字,并从26个编号的红球中选择1个“强力球”数字。如果他们的五个白球选择与按任何顺序绘制的内容相匹配,并且选择了正确的“强力球”号码,他们将赢得大奖。 因此,赢得大奖的机会是1 (69 choose 5)*(26 choose 1)或((69*68*67*66*65)/(5*4*3*2*1))*26,即292,201,338中的1 没有人在2016年1月9日的最新抽奖中赢得大奖,但是也许有人会在美国东部时间2016年1月13日晚上10:59赢得下一张抽奖。 挑战 编写一个模拟强力球绘图的程序或函数,不输入任何内容,而是输出1至69之间的5个不同的随机数,然后输出1至26之间的1个随机的“ Powerball”数字(可以重复5个之一)初始数字)。 “强力球”数字应始终是输出中的最后一个数字,但其他前5个数字的顺序无关紧要。 这6个数字应以十进制输出,以空格分隔或换行符分隔,并带有一个可选的尾随换行符。输出中不允许使用逗号,方括号和其他字符。 因此,这些将是有效的输出(使用最后一张图中的数字): 32 16 19 57 34 13 32 16 19 57 34 13 所有292201338可能的结果都应该具有统一的可能性。您可以使用内置的伪随机数生成器,并假定它们符合此标准。 这是可在Python 2或3中使用的简单参考实现: import random print(' '.join(map(str, random.sample(range(1,70), 5) + [random.randint(1, 26)]))) 以字节为单位的最短代码获胜。 请注意,我与强力球没有任何隶属关系,也不是真的建议您参加比赛。但是,如果您从这里的一个程序生成的数字中赢得任何收益,那么我相信我们很乐意听到这一消息。:D

24
这是Loeschian号码吗?
正整数k是Loeschian数,如果 k可以表示i*i + j*j + i*j为i,j整数。 例如,第一正Loeschian号码为:1(i=1,j=0); 3(i=j=1); 4(i=2,j=0); 7(i=2,j=1); 9(i=-3,j=3); ...注意i,j对于给定k的不是唯一的。例如,9也可以与产生的i=3,j=0。 这些数字的其他等效特征是: k可以表示i*i + j*j + i*j为i,j非负整数。(对于每对整数i,j都有一对给出相同值的非负整数k) 有一组k连续的六边形在六边形网格上形成网格化(请参见k = 4和的插图k = 7)。(由于这个属性,这些数字可在移动蜂窝通信网络中找到应用。) 在序列的OEIS页面中查看更多特征。 挑战 给定一个正整数,如果它是Loeschian数,则输出真实结果,否则,则输出虚假结果。 程序或函数应处理(例如不到一分钟)最多达1000或数据类型限制的输入。 代码高尔夫。最短的胜利。 测试用例 以下数字应输出真实结果: 1, 4, 7, 12, 13, 108, 109, 192, 516, 999 以下数字应输出虚假结果: 2, 5, 10, 42, 101, 102, 128, 150, 501, …
33 code-golf  math  number  number-theory  decision-problem  code-golf  kolmogorov-complexity  code-golf  sequence  code-golf  path-finding  chess  code-golf  string  ascii-art  kolmogorov-complexity  code-golf  math  arithmetic  code-golf  code-golf  number  code-golf  geometry  code-golf  math  code-golf  code-golf  kolmogorov-complexity  alphabet  code-golf  regular-expression  hexagonal-grid  king-of-the-hill  path-finding  java  code-golf  string  sorting  code-golf  string  grid  code-challenge  compression  code-golf  random  code-golf  sequence  arithmetic  code-golf  number  grid  tiling  code-golf  tips  code-golf  sequence  number-theory  recursion  code-golf  string  grid  code-golf  math  number  combinatorics  permutations  string  code-challenge  code-golf  sequence  number-theory  subsequence 

11
固定和的随机数
您的任务是编写一个程序或函数,以固定的总和从间隔[0,1] 中输出 n随机数s。 输入值 n, n≥1,要生成的随机数 s, s>=0, s<=n,要生成的数字总和 输出量 n浮点数的随机元组,所有元素的间隔都为[0,1],且所有元素的总和等于s,以任何方便的明确方式输出。n在浮点数的限制内,所有有效元组必须具有同等的可能性。 这等于从- n维单位立方和n-1穿过(s/n, s/n, …, s/n)并垂直于矢量的- 维超平面内的点的交点进行均匀采样(1, 1, …, 1)(请参见图1中的红色区域以获取三个示例)。 图1:n = 3且总和为0.75、1.75和2.75的有效输出平面 例子 n=1, s=0.8 → [0.8] n=3, s=3.0 → [1.0, 1.0, 1.0] n=2, s=0.0 → [0.0, 0.0] n=4, s=2.0 → [0.2509075946818119, 0.14887693388076845, 0.9449661625992032, 0.6552493088382167] n=10, s=9.999999999999 → [0.9999999999999,0.9999999999999,0.9999999999999,0.9999999999999,0.9999999999999,0.9999999999999,0.9999999999999,0.9999999999999,0.9999999999999,0.9999999999999] …
32 code-golf  random 

6
评分Tarzan的奥林匹克葡萄摇摆常规
奥运会的葡萄树摆动者在标准的树上执行常规活动。特别是,“标准树” n具有0向上穿过的顶点n-1以及将每个非零顶点连接a到其n % a下面的顶点的边。因此,例如,标准树5如下所示: 3 | 2 4 \ / 1 | 0 因为5除以3时的余数为2,所以5除以2或4时的余数为1,而5除以1时的余数为0。 今年,泰山将捍卫他的金新套路,每个始于顶点n - 1,秋千到顶点n - 2,继续顶点n - 3,等等,直到最后他卸除到顶点0。 例行程序的分数是每个挥杆(包括拆卸)的分数之和,挥杆的分数是树内起点和终点之间的距离。因此,Tarzan在标准树5上的例程得分为6: 从摇摆4到3得分3分(向下,向上,向上), 从摇摆3到2得分(下降)一分, 从摆动2到1得分1分(向下),并且 从下来1,0得分为1分(下降)。 编写一个程序或函数,给定一个正整数n,该程序或函数将计算Tarzan例程在Standard Tree上的得分n。样本输入和输出: 1 -> 0 2 -> 1 3 -> 2 4 -> 6 5 -> 6 6 -> 12 7 -> 12 8 …
32 code-golf  math  number  number-theory  code-golf  code-golf  restricted-source  programming-puzzle  css  code-golf  parsing  code-golf  random  encryption  code-golf  ascii-art  fractal  code-golf  math  code-golf  sorting  graph-theory  path-finding  permutations  code-golf  tetris  code-golf  card-games  code-golf  math  sequence  rational-numbers  code-golf  chess  code-golf  string  geometry  grid  code-golf  ascii-art  grid  code-golf  sequence  integer  code-golf  math  number-theory  packing  polyomino  code-golf  math  code-golf  string  quine  permutations  code-golf  math  code-golf  image-processing  optical-char-recognition  code-golf  string  kolmogorov-complexity  sequence  integer  code-golf  number  permutations  palindrome  code-golf  kolmogorov-complexity  code-golf  number  sequence  string  fewest-operations  code-golf  string  kolmogorov-complexity  sequence  primes  code-golf  string  ascii-art  code-golf  string  number  alphabet  code-golf  counting  code-golf  number  sequence  number-theory  primes  code-golf  subsequence  word-search 

30
俄罗斯轮盘,已重装
让我们玩俄罗斯轮盘! 通常,这是编写最短的MOD 6程序的竞赛,但这不是很现实,因为每次单击获胜的机会都会减少。规则如下: 模拟一个真实的六射手: 将一颗子弹放入六个弹药室之一中,然后仅在比赛之前将枪管旋转一次。 第n次尝试失败的机会是1/6。 n次尝试后 输球的机会是1 /(6-n) 您保证最多只能尝试6次。 输: 显示文字 *BANG!* 终止程序。 获奖情况: “胜利”是指枪不射击,但子弹距离锤子较近。 显示文字 *click* 向用户展示“触发器”以及终止程序的能力(例如,“ ctrl + c”,请参见下文)。 程序特定: 拉动触发器是某种形式的用户输入,包括第一次尝试。(这可以是击键,单击鼠标等等;不需要文本提示。) 该程序仅允许一个实例,直到被终止。(运行该程序的新实例类似于使桶具有良好的旋转度,即,下次单击失败的概率重置为1/6。) 最短的代码胜出! 排行榜 显示代码段 <style>body { text-align: left !important} #answer-list { padding: 10px; width: 290px; float: left; } #language-list { padding: 10px; width: 290px; float: left; …
32 code-golf  game  random 

21
我的扫雷瓷砖周围是什么?
扫雷(Minesweeper)是一款益智游戏,其中地雷被隐藏在一块非描述性瓷砖周围,目的是识别所有地雷的位置。单击一个地雷会导致游戏失败,但是单击任何其他图块都会显示一个介于0到8之间的数字,表示有多少个地雷直接围绕在它周围。 给定一个数字,您必须显示一个随机的*可能的组合,其中包含空砖和包围它的地雷。这应该是3x3数组的形式。中心磁贴应为输入的地雷数量。 *所有组合发生的机率都必须为非零。 例子 _ = blank square X = mine 0 ___ _0_ ___ 1 _X_ _1_ ___ 1 ___ _1_ X__ ___ _1_ __X 4 _X_ X4X _X_ 4 X_X _4_ X_X 4 ___ X4X X_X 8 XXX X8X XXX 输入值 中心磁贴周围的地雷数量(0-8) 输出量 显示3x3瓦片阵列的任何合理形式的输出 其他规定 每种组合都不必具有均等的发生机会。执行程序时,每种组合都必须存在非零的机会。 可以选择2个字符作为地雷和空瓦。 这是代码高尔夫,以最少的字节数获胜的程序。

22
下雨了
灵感来自这个聊天迷你挑战。 给定一个字符串作为输入(仅ASCII可打印字符),输出带有“ raining”字母的字符串。每个字母必须是向下随机排列的行(0字符串之间和字符串的长度之间的随机性,每个字符串具有非零的概率),并且每列只能包含一个字符。所有可能的输出必须再次具有非零的发生概率。 这可能有点令人困惑,所以这是一个示例(摘自该CMC): Hello World d H o llo l W e r 请注意,如何H向下减小一个空格,向下减小d零,然后llo所有行都对齐。该r最远下来,9但仍小于字符串长度从顶部离开。这只是一个例子,还有许多其他输入的可能性Hello World。 其他示例可能是: test t e s t PP&CG & G P P C 输入和输出可以通过任何方便的方法给出。 输入保证为非空的(即,您将永远不会收到""输入)。 您可以将其打印到STDOUT或将其作为功能结果返回。 完整的程序或功能都是可以接受的。 只要字符适当排列(例如,随意填充为矩形),任何数量的外部空格都是可以接受的。 禁止出现标准漏洞。 这是代码高尔夫球,因此所有常见的高​​尔夫规则都适用,并且最短的代码(以字节为单位)获胜。

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.