Questions tagged «random»

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

4
爆炸的猫!
挑战 您将要编写一个程序,接受长度为的字符串输入n: 将kthchar 放在空间的中心,在k = (n+1)/2。这将是地面零的位置。 将其余的非空白char随机放置在地面零附近。毕达哥拉斯与炭黑的距离不得超过n。 输出结果。 如果需要澄清,请参见下面的示例。 规则 有标准漏洞! I / O必须采用字符串形式。 输入将始终为奇数,以确保将中央字符置于零地。 每个有效输出的发生概率均应为非零。 这是代码高尔夫球;以字节为单位的最短代码胜出! 例 输入: qwert 爆炸的边界从地面零开始(x标记其余字符为有效位置): x xxxxxxx xxxxxxxxx xxxxxxxxx xxxxxxxxx xxxxxexxxxx xxxxxxxxx xxxxxxxxx xxxxxxxxx xxxxxxx x 输出示例: t r q e w

2
每日最佳高尔夫#6:掷出d20
关于系列 首先,您可以像对待其他任何代码高尔夫挑战赛一样对待它,并回答它而不必担心系列赛。但是,在所有挑战中都有排行榜。您可以在第一篇文章中找到排行榜以及有关该系列的更多信息。 尽管我在本系列中有很多想法,但未来的挑战还没有定下来。如果您有任何建议,请在相关的沙箱帖子上让我知道。 第6洞:滚动d20 桌面RPG中最常见的模具是二十面模具(二十面体,通常称为d20)。掷骰子是您的任务。但是,如果您只是返回1到20之间的随机数,那将是微不足道的。因此,您的任务是为给定的模具生成一个随机的网。 我们将使用以下网络: 这是一个三角形带,因此可以很容易地将其表示为整数列表。例如,如果得到输入: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20] 那将对应于以下骰子(有趣的事实:这是魔术师使用的网:聚会生命计数器/旋转骰子)。 但是,这不是唯一代表此死的网络。根据我们展开脸部的方式,有60种不同的蚊帐。这里还有两个: [1, 8, 9, 10, 2, 3, 4, 5, 6, 7, 17, 18, 19, 11, 12, 13, 14, 15, 16, 20] [10, …

2
生成一些安全的PIN
受到这个深受好评的移民职位的启发。 您公司的安全负责人会担心您的PIN生成系统给您之后12345。他也不是很欣赏您为自己付出的代价而开玩笑的太空球笑话,因此您被委托重写PIN生成器。由于它必须适合某些特殊的硬件,因此您必须使其尽可能小。 你的任务 您有两个输入-PIN数和PIN码的位数。 随机生成指定数量的指定大小的PIN 并打印出来。 即使不是统一概率,所有大小相同的有效PIN也必须能够打印出来。 但是,PIN有一些限制-这是无效的: 如果所有对都是相同的数字:(114422注意:显然,这将包括所有相同的数字PIN)。 日益线性销(MOD 10): 246802。 3所有群体的键盘上的物理线路1 2 3;4 5 6;7 8 9;bksp 0 enter;:147369。 PIN可以从规则1和规则3完全分为几组。 这是代码高尔夫球,因此以字节为单位的最短代码胜出!

15
Insta名称...只需添加编码器即可!
在英语中,一种确保发音无意义的字母组合的保证方法是完全使它脱离辅音元音对,例如,Wu ko pa ha或Me fa ro,首先是辅音,然后是元音。 挑战: 编写一个程序或函数,给定用户指定的字母数,将使用此原理创建一个随机名称。就这么简单。 输入: 大于或等于2的整数,表示输出中所需的字母数。输入可以来自STDIN,命令行参数或函数参数。 输出: 给定长度的字符串,包含随机选择的辅音元音对。可以将其打印到STDOUT或最接近的替代版本,或者在使用函数的情况下返回。 规则: 英文字母的每个辅音应该为每对第一个字符选择的概率相等,英文字母的每个元音应该为每对第二个字符选择相等的概率。 字母对可以重复。 由于这是一个名称,因此首字母必须大写。 如果输入为奇数,则名称中随机选择的字母对应在末尾附加y或h。y或h的选择也应该是随机的。 不允许有标准漏洞。 以字节为单位的最小代码获胜。 字母定义: 辅音: bcdfghjklmnpqrstvwxyz 元音: aeiou I / O示例: Input: 6 Output: Mefaro Input: 9 Output: Wukohpaha 请享用!
17 code-golf  random  word 

8
分析地震
背景 在随机的Domino自动机是一个地震玩具模型,通过元胞自动机的启发。在此挑战中,您的任务是模拟该模型的简化版本,并从中收集数据。 自动机定义在位阵列上A,k位阵列表示可能发生地震的断层线。数组在其边界处环绕。条件A[i] = 0意味着位置i被放松,并且A[i] = 1手段,它的兴奋,或包含存储的能量。在每个时间步长,均一地随机选择阵列的一个位置。如果该位置放松,它将变得兴奋(将势能添加到系统中)。如果该位置已被激发,则将引发地震,并且所选位置和与其连接的所有激发位置将再次放松。放松的激发位置数就是地震的幅度。 例 考虑数组 100101110111 长度为12。如果随机过程从左侧选择第二个位,则数组将更新为 110101110111 ^ 由于所选位(标有^)为0。如果我们接下来从左边选择第四位,它是一个隔离的1,则触发震级为1的地震,并且该位0再次设置为: 110001110111 ^ 接下来,我们可以从右边选择第二个位,这将触发5级地震: 000001110000 ^ 请注意,1与所选择的“群集”相同的所有“ s”都是地震的一部分,并且数组在边界处环绕。 任务 您应将两个正整数k和用作输入t,您的任务是模拟随机的多米诺自动机的t时间步长,从k所有0s 的初始长度数组开始。您的输出应L为k整数列表,其中L[i](基于1的索引)包含i模拟过程中发生的震级数。您可以从输出中删除尾随零。 对于输入k = 15和t = 1000,一些代表性的输出是 [117, 97, 45, 26, 10, 5, 3, 1, 3, 0, 0, 0, 0, 0, 0] [135, 91, 58, 21, 8, 2, …

20
生成任何随机整数
您的程序/功能应 输出正好一个整数 输出具有正概率的任何整数 至少以50%的概率输出大于1.000.000或小于-1.000.000的整数。 输出示例(必须全部输出): 59875669123 12 -42 -4640055890 0 2014 12 24 -7190464664658648640055894646646586486400558904644646646586486400558904646649001 说明: 尾随换行符是允许的。 不允许前导零。 -0 被允许。 最短的代码胜出。

10
升序矩阵
“升序矩阵”是整数(包括0)的无限矩阵,其中任何元素是最小的可用元素,之前尚未在相应的行和列上使用: | 1 2 3 4 5 6 ... --+---------------- 1 | 0 1 2 3 4 5 ... 2 | 1 0 3 2 5 4 ... 3 | 2 3 0 1 6 7 ... 4 | 3 2 1 0 7 6 ... 5 | 4 5 …
17 code-golf  math  matrix  programming-puzzle  code-golf  music  code-challenge  programming-puzzle  code-golf  fastest-code  code-golf  number  game  code-golf  combinatorics  code-golf  math  sequence  restricted-complexity  code-golf  number  random  code-golf  array-manipulation  code-golf  math  matrix  code-golf  number  sequence  counting  code-golf  math  number  sequence  popularity-contest  number  sequence  code-golf  music  code-golf  number  code-golf  ascii-art  arithmetic  code-golf  code-golf  number  code-golf  code-challenge  array-manipulation  code-golf  grammars  code-challenge  polyglot  code-golf  game  math  python  programming-puzzle  code-challenge  king-of-the-hill  code-challenge  fastest-code  primes  number-theory  number-theory  primes  fastest-code  factoring  popularity-contest  compile-time  code-golf  math 

1
正则表达式验证正则表达式[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为Code Golf Stack Exchange 的主题。 2年前关闭。 构建一个将接受正则表达式字符串作为输入的正则表达式,并检查其是否有效。基本上,您的正则表达式应该能够验证自己。(任何无效的正则表达式都不应进行验证,因此您不能使用.*。;)) 您的风味必须得到众所周知的实现(Perl,sed,grep,gawk等)的完全支持,并且必须完全支持那些实现所支持的功能。[不用担心律师说话;我只是想消除所有可能导致智能***的漏洞。] 我会对此进行编码,但是我担心它会给那些知道和使用非功能丰富的风味的人带来优势。还是我的担心没有根据?
17 code-challenge  code-golf  code-golf  game  sudoku  code-challenge  math  ai-player  code-challenge  sorting  rosetta-stone  code-challenge  code-challenge  programming-puzzle  code-golf  number  code-golf  maze  code-golf  math  regular-expression  code-golf  sequence  code-golf  graph-theory  code-golf  string  word-puzzle  natural-language  brainfuck  metagolf  optimized-output  fastest-algorithm  code-golf  game-of-life  cellular-automata  code-golf  puzzle-solver  grid  code-golf  combinatorics  binary-tree  popularity-contest  code-challenge  code-golf  ascii-art  kolmogorov-complexity  brainfuck  metagolf  code-golf  c  date  code-golf  word-puzzle  crossword  word-search  code-golf  code-golf  quine  code-golf  string  random 

9
XKCD日历事实
启示。经许可张贴。 打印可能的XKCD日历“事实”之一: 您可以从我的APL参考实现或Explain XKCD的成绩单(包括插图下方的标题文本)中获取原始文本和结构。 规则 在每个决策节点,每个选择都必须有相等的(伪)随机机会。 您可以全部使用大写字母。 您必须生成三个句子;问题,原因和标题文字。 三句话应被结束?,.以及.分别与由单个空间彼此分离。 您可能包括的唯一额外空白是一个尾随空格和/或换行符。 例子 Did you know that the Latest Sunset drifts out of sync with the Zodiac because of time zone legislation in Indiana? Apparently it's getting worse and no one knows why. While it may seem like trivia, it has to …

11
是否想看魔术牌戏法?
我小时候学到的第一个魔术纸牌技巧是: 有1张纸牌,背面的图案不是垂直对称的。 将所有卡组织成一个方向。 要求个人“拿起一张卡片,任何一张卡片,记住并退还给您”。 继续将其放入甲板(方向错误)。 大力洗牌,给人一种幻觉,即您不知道他们的牌在哪里。 出示他们的卡片使他们惊讶。 如今,这种技巧显然在本质上有些缺乏光泽,但是它却带来了巨大的挑战。编写一个程序,该程序在没有输入的情况下将输出随机洗牌的纸牌,其中一张纸牌是随机选择的,并且反转了。但是,如果输入的是一副纸牌,其中一张纸牌已反转,则必须输出反转的纸牌(以正确的顺序)。 卡片组 一副纸牌定义为: [2S,3S,4S,5S,6S,7S,8S,9S,TS,JS,QS,KS,AS, 2D,3D,4D,5D,6D,7D,8D,9D,TD,JD,QD,KD,AD, 2H,3H,4H,5H,6H,7H,8H,9H,TH,JH,QH,KH,AH, 2C,3C,4C,5C,6C,7C,8C,9C,TC,JC,QC,KC,AC] 卡的定义是其号码,然后是其西装的第一个字母。卡片的反面正好相反,其西装的第一个字母后跟一个数字。 抽奖卡 例如,如果我们随机选择反转的牌是4 of Clubs (4C),我们最终会(显然没有混洗): [2S,3S,4S,5S,6S,7S,8S,9S,TS,JS,QS,KS,AS, 2D,3D,4D,5D,6D,7D,8D,9D,TD,JD,QD,KD,AD, 2H,3H,4H,5H,6H,7H,8H,9H,TH,JH,QH,KH,AH, 2C,3C,C4,5C,6C,7C,8C,9C,TC,JC,QC,KC,AC] 洗牌 然后,在改组后: [2H,2C,6S,4D,QH,6C,TD,8C,7H,5H,C4,3D,7S,7C,KC,QD,QC,JS,7D,6D,2S,5C,KD,3C,3S,2D,8H,KH,6H,AH,8S,JH,TS,AD,5D,9H,4H,JD,QS,4S,JC,3H,8D,TC,AS,TH,KS,AC,9C,9S,5S,9D] 给定空输入,这是有效的输出。 甲板输入 但是,相反,当我们的程序收到上述输出作为输入时,它应该输出4C。也就是说,输入以下内容: [2H,2C,6S,4D,QH,6C,TD,8C,7H,5H,C4,3D,7S,7C,KC,QD,QC,JS,7D,6D,2S,5C,KD,3C,3S,2D,8H,KH,6H,AH,8S,JH,TS,AD,5D,9H,4H,JD,QS,4S,JC,3H,8D,TC,AS,TH,KS,AC,9C,9S,5S,9D] 您反复进行遍历,直到找到反转的卡,然后将其返回,然后反转回到正常状态。因此,在这里我们将找到C4,知道C不是数字,然后将其返回为4C,这是正确的。 规则 您不得从任何外部来源加载卡座。 空的输入应导致随机洗牌的甲板,其中有1张随机卡片被撤消。 一副纸牌中有1张纸牌作为输入反转的结果应该会导致纸牌反转。 任何其他输入都会导致爆炸性的骆驼在未来派的电子管中骑行。 或其他任何事情。 所选卡和洗牌顺序必须一致地随机。 IE浏览器所有卡都有被选择被撤销的同等机会。 IE浏览器的所有组合卡都有相同的出现机会。 您可以使用SHCD或shcd用于西装,但要保持一致: 如果选择大写西装(SHCD),则还必须使用TJQKA。 如果选择小写字母西服(shcd),则还必须使用tjqka。 这是代码高尔夫球,获胜者是最低字节。

6
双缝实验
懒惰的物理学家有工作要做双狭缝实验。但是,它们很懒惰,不会麻烦自己设置所有设备,因此将模拟效果。他们无法编程,因此需要一些帮助。由于它们很懒,因此您的程序应尽可能短。 给定一个奇数正整数n(n >= 1和n % 2 == 1),执行仿真。 怎么运行的 您将以一块空的画布开始,每帧都有一个单独的光线穿过缝隙并降落在画布上。粒子将以最大概率着陆: n = 1: +-----+ | | | 1/2 | | | +-----+ n = 3: +-----+ +-----+ +-----+ | | | | | | | 1/4 | | 1/2 | | 1/4 | | | | | | | +-----+ …

11
生成美国车牌
给出以下输入之一: AK,AR,AS,AZ,CA,CT,DC,FL,GA,IL,IN,IA,KS,KY,LA,MD,MI,MN,MS,NV,NH,NJ,NM,NY,NC,ND,MP,OH,OK,OR,PA,PR,RI,SC,TN,TX,UT,VT,VA,WA,WI (带引号) "AK","AR","AS","AZ","CA","CT","DC","FL","GA","IL","IN","IA","KS","KY","LA","MD","MI","MN","MS","NV","NH","NJ","NM","NY","NC","ND","MP","OH","OK","OR","PA","PR","RI","SC","TN","TX","UT","VT","VA","WA","WI" 生成并输出与输入匹配的格式的(均匀)随机车牌。如果有多种(逗号分隔)格式,请使用(均匀)随机格式: AK, IA, MS, MP, VT: AAA 000 AS: 0000 AZ, GA, WA: AAA0000 AR, KS, KY, LA, ND, OR: 000 AAA CA: 0AAA000 CT: AA-00000 DC: AA-0000 FL: AAA A00 IL: AA 00000 IN: 000A,000AA,000AAA,AAA000 MD: 0AA0000 MI: AAA 0000,0AA A00,AAA 000 MN: 000-AAA NV: …

3
别走进墙壁了!
一些基于文本的流氓行为不会让您走进墙壁,如果尝试的话,也会让您后退。当您可以使播放器朝最接近的有效方向移动时,为什么要这样做? 挑战 编写一个功能程序,给定方向和3 x 3的字符网格,在玩家采取步骤后输出相同的网格。 例如, 9 #.. .@# #.# 变成 #.@ ..# #.# 输入值 方向由1到9的单个数字给出,每个数字对应于8个基本方向并保持静止。这是从键盘上数字的相对位置得出的: 西北西北 .. \ | / ... 7 8 9 W- 4 5 6 -E ... 1 2 3 ../ | \ 西南 但是,您也可以使用数字123、456、789而不是789、456、123。换句话说,如果您愿意,可以交换顶部和底部2行或数字。这些是仅有的2个可接受的索引组合。 3 x 3网格将由3个不同的可打印ASCII字符组成,这些字符代表步行地板,墙壁和播放器。(在测试用例中,.用于地板,#s是墙壁,@是玩家) 您可以选择程序使用的字符,但是您必须在答案中说明它们,并且它们在多次试验中必须保持一致。 代表角色的角色将始终位于3 x 3网格的中间,并且方向将始终在1到9(包括)之间 您可以按任何顺序输入 3 x 3网格可以作为char数组,字符串数组,9长度字符串或其他合理的替代输入。 …
16 code-golf  random 

2
指定挑战中随机生成的方式
注意:根据对Meta的共识,挑战写作问题是此处的主题。 鉴于这种“编写挑战时要避免的事情”,我开始考虑涉及随机生成某些对象的挑战。 有时候,我想发布一个代码高尔夫挑战,其中涉及随机生成一个foo,其中 检查给定的东西是否是foo很容易,并且 快速生成“优质”随机foo会有点困难。 例如,一个foo可能是一个二进制矩阵,其中在任何方向上都没有4个相等位的段。检查给定的二进制矩阵是否为foo很容易,但是生成具有良好分布分布的随机foo似乎需要回溯算法或类似的算法。 无论如何,现在我需要客观地指定符合条件的随机foo,并且我希望它在我多次运行该程序时的直观含义是“不可预测的”。最严格的方法是要求输出一致地为随机数:所有有效foo的生成概率相同。这通常过于严格,因为我不知道如何保存生成所有有效的foo,删除重复项并选择一个乏味又缓慢的方法。 我的下一个想法是要求所有有效的foo都必须具有正的生成概率。但是,这意味着以下方法是有效的:生成类似foo的随机事物(在我们的示例中为随机二进制矩阵),如果它是foo,则将其返回,否则返回硬编码的foo(例如,恒等矩阵) )。这也有点无聊,因为它基本上只是添加到随机矩阵生成器的foo的识别器。 对于不可预测的随机foo是否可以有一个很好的通用定义? TL; DR 是否有一种很好的方法来指定一个“不可预测的”随机生成的对象,该对象不能固定发行版但不鼓励硬编码?

11
随机拼错一个词
受此CR问题的启发 (请不要因为浏览CR而杀死我) 规格 拼错单词的可能性为: 1/3的时间不改变输出 1/3的时间删除随机字符 1/3的时间重复一个随机字符 对于所有字符,在输入中删除/复制给定字符的机会应相同。 如果两个连续的字符相同(区分大小写),则其中一个被修改的概率应与一个字符相同。即AA(AA或A或AAA)的输出都应具有相同的概率。 为了简单起见,输入将仅包含字母。 例子 输入第一行,随后几行都是可能的拼写错误。每行应具有相同的输出概率,示例中将输入排除在外,但仍应有1/3的输出概率。 foo fo oo ffoo fooo PPCG PPC PPG PCG PPPCG PPCCG PPCGG

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.