Questions tagged «random»

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

24
任意随机
随机性很有趣。没有意义的挑战很有趣。 编写一个函数,在给定整数输入的情况下n,将输出介于和(包括)之间的一组(无序,唯一的)精确n随机整数,以使所有整数的总和等于。1n^2n^2 随机性也不会是均匀的,只要每个有效集有发生非零机会。 以字节为单位的最短答案(每种语言)获胜。 例子 Input (n) = 1, Target (n^2) = 1 Sample of possible outputs: 1 Input = 2, Target = 4 Sample of possible outputs: 3, 1 1, 3 Input = 3, Target = 9 Sample of possible outputs: 6, 1, 2 3, 5, 1 4, 3, …

25
鸽子洞原理和代码高尔夫
该鸽巢原理指出, 如果将N个项目放入M盒中,且N > M,则至少一个盒子必须包含一个以上的项目。 对于许多人来说,与其他数学运算相比,该原理具有特殊的地位。正如EW Dijkstra 写道, 它被一些神秘感所包围。使用它的证明通常被认为是特殊的东西,特别是巧妙的东西。 挑战 这项挑战的目的是使用ASCII艺术表示法来说明鸽洞原理。特别: 以输入N(项目数)和M(框数)N为正和非负M。N可能小于M(即使该原则在这种情况下不适用)。 随机选择可能的项目分配到框之一。每个分配都应具有非零的被选概率。 生成分配的ASCII艺术作品表示,如下所示: 有几M行,每行对应一个框。 每行以非空白字符开头,例如|。 在该字符之后是另一个非空白字符,例如#,与该框中的项目重复的次数很多。 例如考虑N = 8,M = 5。如果项盒中的所选赋值是4,1,0,3,0,表示是 |#### |# | |### | 相同程序的不同运行(导致不同的分配)可能会导致 |# |## |# |# |### 表示有一些灵活性;见下文。 具体规则 该代码应理论上任何值运行的N和M。实际上,它可能受内存大小或数据类型限制的限制。 由于观察输出不足以确定所有赋值是否具有非零概率,因此每个提交都应说明代码如何实现(如果不是很明显)。 允许以下表示形式的变化: 可以选择任何一对不同的非空白字符。它们在程序执行之间必须保持一致。 表示形式可以旋转90度。同样,选择必须是一致的。 允许尾随空格或前导空格。 以具有不同表示形式的示例为例,对于N = 15,M = 6该程序两次执行的结果可能是 VVVVVV @@@@@@ @@ @@@ @ …

30
使用恒定的随机源选择一个介于0和n之间的随机数
任务 给定的正整数n小于2^30您选择以任何方式指定的输入,您的代码应输出介于0和之间的随机整数n,包括。您生成的数字应该随机选择。也就是说,从0到的每个值都n必须以相等的概率出现(请参阅规则和警告)。 规则和警告 您的代码可以假定您的语言或标准库中内置的任何声称统一随机的随机数生成器实际上都是统一的。那就是您不必担心所使用的随机源的质量。然而, 您必须确定,如果您使用的随机源是统一的,则您的代码正确地输出了从0到的统一随机整数n。 调用内置或库随机函数时,任何参数都必须是常量。也就是说,它们必须完全独立于输入值。 您的代码可能以1的概率终止,而不是保证终止。 笔记 randInt(0,n) 是无效的,因为它将输入作为内置函数或库函数的参数。 rand()%n通常不会给出统一的随机数。作为betseg提供的示例,如果intmax == 15和n = 10,那么您获得的可能性0-5将比更高6-10。 floor(randomfloat()*(n+1)) 由于0到1之间的可能浮点值的数量有限,因此通常也不会给出统一的随机数。

21
镜子中的镜子
二维编程语言通常具有镜像命令,例如/和,\以重定向网格上的指令指针: >>>>\ v v <<<</ 在此挑战中,您将获得一个传入方向和一个镜像,并且需要确定传出方向。 规则 传入方向将被指定为字符之一,NESW而镜像将被指定为/或\。您可以按任何顺序收到这些。您必须使用大写字母。 您可以采用任何方便的格式输入,包括两个字符的字符串,在字符之间使用一些分隔符的字符串,列表中的一对字符,甚至一对单例字符串。如果确实使用带分隔符的字符串,则分隔符不能使用任何字符NWSE\/。 输出应为一个字符NESW或单个字符的字符串。 您可以编写程序或函数,并使用我们的任何标准方法来接收输入和提供输出。 您可以使用任何编程语言,但是请注意,默认情况下,这些漏洞是禁止的。 这是代码高尔夫球,因此以字节为单位的最短有效答案为准。 测试用例 您只需要处理8种可能的输入,因此没有理由不对所有代码进行测试: N / --> W N \ --> E E / --> S E \ --> N S / --> E S \ --> W W / --> N W \ --> S

7
生成Brainf *** NOP
有时,在编写脑力激荡的代码时,您会感到需要使其长度超过鼓励调试的时间。您可以通过><在其中放一个来做到这一点,但是那有什么乐趣呢?您将需要更长或更短的NOPey,以使任何人都无法阅读您的代码。 快速入门Brainfuck Brainfuck是UrbanMüller于1993年创建的一种深奥的编程语言,以其极简主义而著称。(维基百科) Brainfuck是一种基于八种命令的语言:+-><,.[]。该代码在图灵机之类的东西上运行:可以在上面更改值的无限磁带。在此挑战中,我们将重点关注前四个: + increment the value at the pointer - decrement the value at the pointer > move the pointer right < move the pointer left 脑干NOP 脑干NOP是一系列脑干角色,当从任何状态执行时,脑筋都不会改变状态。它们由上述四个字符组成。 挑战 面临的挑战是编写一个程序或函数,当执行该程序或函数时,将生成给定长度的随机性NOP。 输入项 您将收到一个非负偶数整数作为输入n。(NOP不可能是奇数n。) 输出量 您将输出一个长度为的随机性NOP n。 规则 NOP的定义:在将程序的输出插入到Brainfuck程序的任何位置时,该程序的行为不得以任何方式改变。换句话说,它不得更改解释器的状态。 请注意,例如+>-<,这是不正确的,因为它更改了两个单元格的值而没有将它们改回来。发布前,请先测试您的解决方案。 另请注意,这+>-<->+<是一个NOP,仅通过删除就不能将其减少为零>< <> +- -+。因此,您不能使用仅将它们彼此插入的算法。 长度的每个有效NOP n必须有非零的机会出现在输出中。但是,分布不必一定是统一的。 讨论中的“脑干”解释器具有无限精确的任意精确细胞带。也就是说,您可以无限地向两个方向移动,并无限地增加/减少每个单元格。 该程序必须在1分钟内在n我的计算机上完成= 100,因此不能生成所有可能的NOP并选择一个。 如果输入的内容无效(非整数,负数,奇数等),则可以执行任何您想做的事情,包括崩溃。 …

3
打高尔夫球自己喝啤酒
是星期五!这意味着该喝啤酒了! 可悲的是,今天我们将打高尔夫球而不是喝啤酒。:( 挑战 输出啤酒并饮用。您采取的饮酒量会改变您的输出。 ps 您的程序应采用一个输入字符串。该字符串只能由串联sip的组成。 如果输入为空字符串,则应输出完整的啤酒杯,包括泡沫。 你喝的越多,啤酒杯就越空。 如果您喝0 ip,则您的啤酒仍然有泡沫。这种泡沫的输出始终是相同的(请参见示例)。 如果喝一口,则应输出啤酒杯,然后输出新行和字符串Yuck, foam.。 如果您喝一口或多杯,啤酒杯中将不再含有泡沫,而应露出玻璃杯的顶部。喝泡沫算一口。 如果您喝了6口或更多,则应输出一个空的啤酒杯,然后输入新行和字符串Burp。 每喝一口,啤酒杯就会变空。啤酒杯的装满量取决于啤酒中气泡的数量°(°)。泡沫后,每次喝一口,应去除一连串的气泡。每行啤酒最多可包含气泡1,最多可包含5气泡。这些气泡的位置应为100%随机。 例子 输入 empty input string, or no input at all 输出 oo o oo oooooooooooo o| ° ° |\ | ° | \ | °° ° |} | | ° ° | / | ° …

22
递归字符串替换
任务 编写一个程序或函数,给出给定的三个字符串A, B, C会生成一个输出字符串,其中Bin的每个实例A都已用递归替换C。递归替换表示重复替换,其中在每一步中Bin的所有不重叠实例A(从左到右贪婪地选择)都替换为,C直到B不再包含在中A。 输入输出 您可以对I / O使用任何默认方法。 字符串将仅包含可打印的ASCII字符(并且可以包含任何一个)。 B永远不会是一个空字符串,而A并且C可能是。 字符串应被视为纯文本,例如,您不能将其B视为Regex模式。 输入的某些组合永远不会终止。在这种情况下,您的程序可以执行任何操作。 测试用例 这些格式为: A/B/C\nOutput Hello, world!/world!/PPCG Hello, PPCG Uppercase is up/up/down Uppercase is down ababababa/aba/ccc cccbcccba delete/e/{empty string} dlt {empty string}/no/effect {empty string} llllrrrr/lr/rl rrrrllll +-+-+-+/+-+/+ + ababababa/aba/bada badabbadbada abaaba/aba/ab abb ((())())())/()/{empty string} ) 不会终止的示例: grow/ow/oow loop/lo/lo
25 code-golf  string  substitution  code-golf  math  code-golf  string  set-theory  code-golf  code-golf  compile-time  code-golf  kolmogorov-complexity  binary  code-golf  sequence  cops-and-robbers  code-golf  subsequence  card-games  code-golf  sequence  primes  code-golf  code-golf  number  graphical-output  music  code-golf  ascii-art  code-golf  string  lambda-calculus  code-golf  string  code-generation  code-golf  unicode  code-golf  math  combinatorics  code-golf  balanced-string  code-golf  sequence  cops-and-robbers  code-golf  sequence  cops-and-robbers  code-challenge  fastest-code  chess  code-golf  math  graphical-output  code-golf  string  hello-world  animation  code-golf  number  arithmetic  code-golf  integer  code-golf  code-golf  combinatorics  code-golf  kolmogorov-complexity  graphical-output  code-golf  string  code-golf  code-golf  game  code-golf  math  combinatorics  code-golf  ascii-art  popularity-contest  random  code-golf  arithmetic  number-theory  integer  code-golf  tips  underload  code-golf  math  sequence  primes  code-golf  math  path-finding  code-golf  ascii-art  primes  code-golf  kolmogorov-complexity  alphabet 

30
Pi的Monte Carlo估算器
大家快乐的Pi日!完全没有理由,我试图构造一个尽可能短的Pi蒙特卡洛估计器。我们可以构建一个可以在推文中显示的推文吗? 为了澄清,我想到的是从单位平方中绘制随机点并计算落入单位圆内的比率的典型方法。样本数量可以硬编码也可以不硬编码。如果对它们进行硬编码,则必须至少使用1000个样本。结果可以作为浮点数,定点数或有理数返回或打印。 禁止使用Trig函数或Pi常数作为Monte Carlo方法。 这是代码高尔夫球,因此最短的提交(以字节为单位)获胜。

30
以ASCII绘制骰子结果
如果用立方体形骰子完成,则显示掷骰子的随机结果,以ASCII表示。 $ dice 应该导致以下结果之一 ----- | | | o | | | ----- ----- |o | | | | o| ----- ----- |o | | o | | o| ----- ----- |o o| | | |o o| ----- ----- |o o| | o | |o o| ----- ----- |o o| …

27
一个月中有几天?
给定一个月的文本表示形式(不区分大小写的全名或3个字符的缩写),请返回该月的天数。 例如,december,DEC,和dec都应该返回31。 2月可以有28天或29天。 假设输入的是正确格式之一的月份。

24
说明音乐节拍
您知道,它们看起来像这样: 资源 目的是绘制如下的音乐节拍插图: = = = = = = = = == = == = == = ==== == ==== == === = = ======= ======== == ==== = ========= = ================================= 规则是: 插图的宽度为33个符号,但如果需要-允许任何超出此宽度的尾随空格。 每列均由等号(=)组成。 每列都有一个随机的高度(下一列的高度不应以任何方式取决于上一列的高度),范围是1到6。如果至少有可能在没有严格限制的情况下获得一些输入,也可以数学概率(即某些输入比其他输入少出现)。 列不能浮在底部上方并且在其中有空隙。 由于每一列的最小高度均为1,因此最后一行也不能有任何间隙-它始终由33个等号组成。 由于可能没有高度为6的列(毕竟都是随机的):在这种情况下,您不需要由空格组成的顶行。适用于这种性质的任何边缘情况:如果您的代码突然没有提供高度大于1的列,则无需在底行上方用空格构成其他行。 你什么都不输入。

15
随机沃克打印机
绘制一个程序或函数,该程序或函数将向STDOUT n时间(每个步)写入一个字符串,该字符串.在助行器的位置包含一个点。该程序还需要每秒钟写入一行s(或s在每行之后等待几秒钟)。 随机游走是路径的数学形式化,该路径由一系列随机步骤(wiki)组成,因此每个新步骤将是最后一个步骤加上一个新值,因此任何t步骤值都只是所有随机值的总和ir之前加上初始值。 该程序应具有2个输入,并且将在输出上仅使用空格" "和点"."。助行器的起始值20应使输出应为19个空格后的点。 . #19 spaces then a dot 每个新步骤的价值将是步行者的最后价值加上其中一个价值[-2-1,0,1,2](每个价值20%的机会)。在打印新位置后,程序应等待s几秒钟,然后转到下一步。如果踏步使助步器偏离该范围1 to 40,则应忽略该范围,并且助步器位置保持不变。空格数始终是0到39之间的数字。 例 #input Mywalk(s = 0.1, n = 30) #output . . . . . . . . . . . . . . . . . . . . . . . . . . . …
24 code-golf  random 

23
用字母汤装满碗
我们似乎从来没有得到疲倦的字母相关的挑战... 食谱 给定 一串字母S,和 两个正整数M,N, 产生的字母表汤中的字母S占据的随机位置在矩形碗尺寸的M× N,框架由一个非字母,非空格字符来表示碗的边缘。 字母未使用的位置应显示为空格。请参阅下面的示例。 附加规则 尺寸M× N指的是内部的碗。包括轮辋在内的尺寸为M+2× N+2。 每个字符S应在碗中一次出现在不同的位置;也就是说,一个字符不能覆盖另一个字符。 S 可能包含重复项。例如,如果S是字符串'abcc',汤必须包含一个a,一个b,两个c(都在不同的位置)。 输入将满足限制 M >= 1,N >= 1,1 <= length(S) <= M*N。 碗的边缘可以是任何非字母,非空格字符,在程序运行和输入值之间保持一致。 碗中的字母位置是随机的,因此每次使用相同的输入运行程序时,结果可能会有所不同。 给定输入,每个可能的字母位置集应具有非零概率。由于无法从程序的一些实现中进行检查,因此请说明您的代码如何实现此目的。 允许在边框周围使用前导或尾随空格。 S将仅包含大写字母。如果愿意,您可以选择仅采用小写字母。 输入和输出像往常一样灵活。例如,输出可以是带有换行符的字符串,2D字符数组或行列表。 允许使用任何编程语言编写程序或功能。禁止出现标准漏洞。 以字节为单位的最短代码获胜。 例子 输入显示为S, [M N],其中M是行N数和列数。该字符#用于边框。 'O', [1 1]: ### #O# ### 'HEY', [1 3]: ##### #YHE# ##### 'HELLO', …

14
你知道你的“ KVZ”吗?
概念 您可以通过哪些方式加扰英文字母,以便仍可以在不破坏音调的情况下将其演唱到Twinkle Twinkle Little Star音乐中? 规则 交换 让我们假设默认情况下可以自由交换以下每个集合中包含的字母而不会破坏音调: {A,J,K} {B,C,D,E,G,P,T,V,Z} {I,Y} {Q,U} {S,X,F} {M,N} 因此,H,L,O,R和W锁定在适当的位置 输出量 程序需要以任何顺序输出包含完整英文字母的单个RANDOM字符串(或字符列表),前提是该顺序满足上述条件。您应该没有办法预测程序将输出哪个字符串(如果忽略种子),这意味着您不能仅仅对其进行硬编码。 您的程序必须有一定的概率(不一定是统一的)生成9!⋅3!⋅3!⋅2!⋅2!⋅2!=1045094409!⋅3!⋅3!⋅2!⋅2!⋅2!=104509440 9! \cdot 3! \cdot 3! \cdot 2! \cdot 2! \cdot 2! = 104509440 输出。 关于间距,定界符或大小写没有特定的格式限制,只是保持一致。 目标 最小字节获胜! 例子: KCDBPSVHIAJLMNOZQRXGUEWFYT A,G,Z,V,P,X,C,H,Y,K,J,L,N,M,O,T,U,R,S,D,Q,B,W,F,I, Ë KVTDCFBHIJALNMOPURSZQGWXYE jcdebxthikalnmogursvq pwfyz ABCDEFGHIJKLMNOPQRSTUVWXYZ 非示例: HLWROABCDEFZXYGIJKMNPQTSVU 概念验证:(Python3,529字节) import random g1 = …

10
最短的唯一标识子字符串
给定一个字符串列表,请用其非空子字符串之一替换每个字符串,该子字符串不是列表中任何其他字符串的子字符串,并且应尽可能短。 例 给定list ["hello","hallo","hola"],"hello"应替换为,"e"因为该子字符串未包含在其中"hallo","hola"并且它尽可能短。"hallo"可通过任一取代"ha"或"al"并"hola"通过任何"ho","ol"或"la"。 规则 您可以假定字符串将为非空,并且仅包含大小写相同的字母字符。 您可以假定列表中的每个字符串都存在这样的子字符串,即列表中的任何字符串都不是其他任何字符串的子字符串。 输入和输出可以采用任何合理的格式。 这是code-golf,因此请尝试使用您选择的语言使用尽可能少的字节。 测试用例 在大多数情况下,仅给出一种可能的输出。 ["ppcg"] -> ["p"] (or ["c"] or ["g"]) ["hello","hallo","hola"] -> ["e","ha","ho"] ["abc","bca","bac"] -> ["ab","ca","ba"] ["abc","abd","dbc"] -> ["abc","bd","db"] ["lorem","ipsum","dolor","sit","amet"] -> ["re","p","d","si","a"] ["abc","acb","bac","bca","cab","cba"] -> ["abc","acb","bac","bca","cab","cba"] 相关:最短识别子字符串 -类似的想法,但涉及更多规则和繁琐的格式。
23 code-golf  string  code-golf  string  code-golf  array-manipulation  code-golf  quine  code-golf  array-manipulation  integer  matrix  classification  code-golf  quine  code-golf  string  matrix  conversion  code-golf  string  number  code-golf  string  code-golf  number  sequence  integer  code-golf  decision-problem  matrix  code-golf  string  code-golf  math  code-golf  math  array-manipulation  combinatorics  code-golf  random  code-golf  code-golf  alphabet  code-golf  python  c  code-golf  base-conversion  code-golf  string  counting  code-challenge  code-generation  fastest-code  code-golf  kolmogorov-complexity  matrix  code-golf  string  code-golf  array-manipulation  decision-problem  random  sudoku  code-golf  chess  code-golf  card-games  encode  code-golf  decision-problem  code-golf  code-golf  math  array-manipulation  matrix 

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.