Questions tagged «random»

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

28
随机选择一个与其他两个随机数不同的数字
已生成两个随机数A和B分别为1、2或3 您的工作是随机选择第三个数字C,该数字也可以是1,2或3。但是,C不能等于A或B。 是的,A可以等于B。 如果A = B,则C仅剩两个数字。 如果A不等于B,则C只能是一个数字。 假设已经为您选择了A和B 这就是在Python中创建A和B的方式 A = random.randrange(1,4) B = random.randrange(1,4) 假设这已经在您的代码中。 这是我在Python中想到的最短的 while True: C = random.randrange(1,4) if C != A and C != B: break 这就是A,B和C可以相等的。 1,2,3 1,1,2 2,3,1 3,3,2 这是A,B和C不能相等的 1,2,1 2,3,3 1,1,1 3,2,3
14 code-golf  random 

4
带狗散步
我的狗在咆哮着我,但是我懒得带他去散步。我有个主意!我会邀请Code Golf的人为我做! 您的挑战是模拟狗的行走。这是walking狗的规则: 人类(H)将从0,0(笛卡尔)坐标平面开始,并将每秒随机地向上,向左,向右或向下移动一个空间。 狗(D)将在同一位置开始,并且每秒向上,向左,向右或向下移动零个,一个,两个或三个空格(当然是随机的)。狗的可预测性较差,有时会跑得更快或完全停止。 狗与人的距离永远不会超过一定数量的单位(以欧几里得距离为单位),这就是皮带的长度(L)。例如,如果L为6,则有效位置为H(0,0) D(4,4)(因为距离约为5.65单位),但不是H(0,0) D(5,4)(约6.4单位)。 如果狗在移动时会违反皮带距离要求,则它必须在不违反距离要求的确定方向上走得尽可能远。例如,如果位置为,H(0,0) D(3,4)并且随机决定将狗向右移动3个空格,它将转到D(4,4),因为这是它可以走的最远距离而不会超过6个单位。(请注意,这可能导致移动0个空格,即完全不移动!) 杂项规则:人类先行。人不得超过其移动的皮带长度。如果是这样,它必须选择另一个方向。“随机”是指“分布均匀且没有图案”。 输入将以以下格式给出(可以是STDIN,函数参数,文件等): "<amount of seconds the walk will last> <leash length>" 例如: 300 6 // a 5 minute walk with a 6 yard leash 您必须使用以下格式提供输出(可以是STDOUT,函数返回值,文件等): H(0,0) D(0,0) H(0,1) D(2,0) H(1,1) D(2,1) H(1,0) D(2,-1) ... (seconds + 1由于H(0,0) D(0,0)不计算行数,因此输出的行数为。) 这是代码高尔夫球,因此最短的代码(以字节为单位)将获胜!
14 code-golf  random 

20
随机骰子小费
在标准骰子(骰子)中,数字的排列方式是使相对的面数增加到七个。用您喜欢的语言编写最短的程序,该程序输出一个随机抛出,然后输出9个随机小费。翻斗是骰子的四分之一转,例如,如果骰子面向5,则所有可能的翻斗都是1,3,4和6。 所需输出示例: 1532131356

17
随机播放无局部变量的牌组
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为Code Golf Stack Exchange 的主题。 2年前关闭。 这个难题的目的是拿出52张纸牌并洗牌,以使每张纸牌处于随机位置。 鉴于: deck代表卡片的52个不同整数组成的数组。当您开始时,deck仅以未知顺序包含每张卡中的一张。 函数,该函数int rand(min, max)返回ins min和max(含)之间的随机整数。您可以假定此函数是真正随机的。 一种功能,void swap(x, y)可以交换卡片组中的两张卡。如果您致电swap(x, y),则这些卡将在位置x,y并将切换位置。 什么时候: 程序调用shuffle()(或shuffle(deck),deck.shuffle()或者您的实现喜欢运行), 然后: deck 应该完全随机地包含每张卡中的一张。 抓住: 您不能声明任何变量。随心所欲地调用swap和rand,但是您不能声明自己的任何变量。这包括for循环计数器-甚至是隐式计数器(如)foreach。 说明: 您可以更改次要详细信息以适合您选择的语言。例如,您可以编写swap以通过引用切换两个整数。所做的更改应该是使它与您的语言配合使用,而不是使难题变得更容易。 deck 可以是全局变量,也可以将其作为参数。 您可以对的内容进行任何操作deck,但不能更改其长度。 您的卡可以编号为0-51、1-52或您喜欢的任何编号。 您可以用任何一种语言编写此代码,但不会欺骗您的语言的内置shuffle功能。 是的,您可以在同一行中编写52次。没有人会留下深刻的印象。 执行时间并不重要,但真正的随机性却很重要。 这并不是真正的代码高尔夫球,但是请随时最小化/混淆您的代码。 编辑:样板代码和可视化工具 如果您使用.NET或JavaScript,以下一些测试代码可能会有用: JavaScript: 带有JavaScript脚本源的快速,肮脏的JavaScript可视化工具:https : //gist.github.com/JustinMorgan/3989752bdfd579291cca 可运行的版本(只需粘贴到您的shuffle()函数中):http : //jsfiddle.net/4zxjmy42/ C#: 带有C#代码的ASP.NET可视化工具:https : //gist.github.com/JustinMorgan/4b630446a43f28eb5559 仅存有swap和rand实用程序方法的存根:https …

12
字符串和数字的乐趣
这是给您的编程难题: 例如,给定一对字符串和对应数字的[[A,37],[B,27],[C,21],[D,11],[E,10],[F,9],[G,3],[H,2]]列表,请输出另一个列表,该列表将仅以以下方式包含字符串: 任何字符串的总计数应完全等于输入数据中其对应的数字。 不应在序列中相邻重复任何字符串,并且每个字符串都应出现在输出列表中。 只要不超过两个规则,就应该随机选择下一个字符串。每个解决方案的选择概率均应为非零。 如果无法组合,则输出应为just 0。 输入列表可以以任何顺序(排序或未排序)给出,列表中的字符串可以具有任何长度。 上述样本输入1的样本输出 [A,B,A,B,A,B,A,B,A,B,A,B,A,B,A,B,A,B,A,B,A,B,A,B,A,B,A,B,A,B,A,B,A,B,A,B,A,B,A,B,A,B,A,B,A,B,A,B,A,B,A,B,A,B,A,C,A,C,A,C,A,C,A,C,A,C,A,C,A,C,A,C,A,C,D,C,D,C,D,C,D,C,D,C,D,C,D,C,D,C,D,C,D,C,D,C,E,F,E,F,E,F,E,F,E,F,E,F,E,F,E,F,E,F,E,G,H,G,H,G] 输入样本2: [[A,6],[B,1],[C,1]] 第二个输入的输出: 0 因为根据规则无法列出。 样本输入3: [[AC,3],[BD,2]] 有效输出: [AC,BD,AC,BD,AC] 无效的输出: [AC,BD,AC,AC,BD] 如果需要进一步澄清,请随时在评论中告诉我,我将立即采取行动。 这是代码高尔夫球,因此每种语言的最短代码以字节为单位!

30
从原动力中恢复原动力
定义:素数幂是自然数,可以以p n的形式表示,其中p是素数,n是自然数。 任务:给定素数p n > 1,返回素数p。 测试用例: input output 9 3 16 2 343 7 2687 2687 59049 3 计分:这是代码高尔夫球。以字节为单位的最短答案将获胜。
13 code-golf  arithmetic  primes  king-of-the-hill  python  board-game  code-golf  number  subsequence  code-golf  ascii-art  code-golf  array-manipulation  decision-problem  grid  fastest-algorithm  logic-gates  logic  code-golf  cards  code-golf  rational-numbers  code-golf  math  number  sequence  code-golf  array-manipulation  integer  code-golf  number  array-manipulation  code-golf  number  sequence  decision-problem  code-golf  ascii-art  number  code-challenge  sequence  arithmetic  sorting  code-golf  date  fastest-algorithm  code-golf  string  number  random  combinatorics  code-golf  combinatorics  code-golf  ascii-art  base-conversion  code-golf  array-manipulation  code-golf  string  code-golf  string  number  arithmetic  code-golf  kolmogorov-complexity  code-golf  string  array-manipulation  json  code-golf  puzzle-solver  code-golf  binary  graph-theory  code-golf  arithmetic  haskell  code-golf  string  cipher  code-golf  code-golf  string  parsing  alphabet  code-golf  string  code-golf  ascii-art  code-golf  string  number  code-golf  string  balanced-string 

10
交易一个ASCII牌组
从未出现过确定的ASCII卡挑战AFAIK。因此,使用以下ASCII卡组: .------..------..------..------..------..------..------..------..------..------..------..------..------. |2.--. ||3.--. ||4.--. ||5.--. ||6.--. ||7.--. ||8.--. ||9.--. ||T.--. ||J.--. ||Q.--. ||K.--. ||A.--. | | (\/) || (\/) || (\/) || (\/) || (\/) || (\/) || (\/) || (\/) || (\/) || (\/) || (\/) || (\/) || (\/) | | :\/: || :\/: || :\/: || …

1
单位n维超立方体中两点的平均距离
理解单位n维超立方体的一种简单方法是考虑每个坐标分量都位于[0,1]中时可以得到的n维空间区域。因此,对于一维,它是从0到1的线段;对于二维,它是具有角(0,0)和(1,1)等的正方形。 编写一个程序或函数,给定n返回从单位n维超立方体中均匀随机选择的两点的平均欧几里得距离。您的答案必须在实际值的10 -6以内。如果答案对大n来说溢出了语言的本机浮点类型,那是可以的。 随机选择“大量”的点并计算平均值不能保证这种准确性。 例子: 1→0.3333333333 ... 2→0.5214054331 ... 3→0.6617071822 ... 4→0.7776656535 ... 5→0.8785309152 ... 6→0.9689420830 ... 7→1.0515838734 ... 8→1.1281653402 ... 从MathWorld获得的数据。 这是代码高尔夫球,最低字节数获胜。

19
实施此关键密码
实施此关键密码 目标 使用算法(在“算法”部分中有说明)来实现特定密码。 该程序必须从STDIN或最接近的可用等效项中读取输入,使用该算法生成密文和密钥。 密文和密钥将被写入STDOUT或最接近的等效密钥。允许任何格式,只要它输出密文和密钥即可。 算法 将字符串中的字符转换为相应的ASCII值。例如: Hello -> 72 101 108 108 111 接下来,您将需要生成一个密钥,只要该字符串的随机数在0-9范围内即可。 Hello -> 62841 将随机数序列中的整数添加到字符串的ASCII值。在上述示例中,72将变为78,而101将变为104。 72 + 6 = 78, 101 + 2 = 103, 108 + 8 = 116, etc 接下来,将新值转换回字符。在上述示例中,文本Hello变为Ngtpp。 例子 (这些仅仅是输出什么样的例子可能看起来像,输出可以且将会变化。) Hello World Lfrlu)_supg 41606984343 This will be encoded Zhjs$~koo gj$iuhofgj 60104723305544750226 规则 …

21
遍历数组
我们大家经常听到“遍历数组”这个成语的意思是“将函数映射到以下数组”。不过,我需要它做(现在!),所以我希望你能运行通过数组。 我该如何跑步? 想象在你身后有一群野狼 在数组中运行就像遍历一个数组,只是可以跳过元素。是的,有时会很混乱,但是(通常)可以正常工作。您可能会问:“跳过了哪些元素?”。好吧,这是随机完成的。让我们逐步遍历整个数组! 让e是当前元素。 让我们在中random生成一个随机浮点数[0,1)。如果是random() < 0.5,则转到下一个元素,然后转到步骤1。(您可以通过其他方式生成数字,只要它们是(理想情况下)跳过和保留的机会相等即可。例如,您可以使用从一个元素中选择一个元素两人一组,并根据结果执行操作。) 否则,您将在f上执行功能e。 目的 给定一个数组或列表/字符串(如A和)和一个数字K,遍历该数组,并添加K到所访问的每个成员中。输出/返回该数组。A将仅包含非负整数,并且K将永远是非负整数。这是一个代码高尔夫球,因此以字节为单位的最短程序获胜。 测试用例(示例) K, A => possible K' [1, 2, 3, 4], 0 => [1, 2, 3, 4] [1, 2, 3, 4], 1 => [1, 3, 3, 5] [0, 0, 0, 0], 2 => [2, 0, 0, 2]

4
解读Pig系列
给定Pig, SickPig, DeadPig, QuinePig或 DeafPig程序的输入,请随机选择这些“语言”之一,并将输入解释为该“语言”。 首先,在“猪系列”的五个成员之一中随机选择: 猪 如果选择是Pig,请执行以下操作来模仿参考口译员: 查找PIG输入中单词的第一个匹配项(区分大小写)。 如果PIG输入中未出现该单词,则输出消息 File must contain the string 'PIG'.并退出。 否则,在第一次出现时拆分输入字符串PIG。将第一次出现后的文本输出PIG到文件名为之前的文件PIG。 PIG可能包含在要输出的文本中(因此,的输入 fooPIGbarPIGbaz应输出barPIGbaz到名为的文件中foo)。 请注意,参考解释器通过命令行参数获取输入,该命令行参数指定要读取的文件名。但是,您的提交可以采用PPCG接受的任何标准方法进行输入。 病猪 如果选择的是SickPig,请遵循与Pig相同的说明。但是,与其将文本写到PIG文件中,不如从下面的列表中随机选择 GRUNT MOAN OINK BURP GROAN WHINE 并将其输出到文件中。此随机选择必须独立于先前的选择(因此,的输出GRUNT总体应具有1/5 * 1/6 = 1/30的机会)。 死猪 DeadPig类似于SickPig,但它始终输出以下字符串,而不是随机选择一个字符串: Your pig has unfortunately died. Please try again. QuinePig QuinePig就像Pig一样,但是PIG它没有将文本写到文件中,而是将整个输入写到文件中(因此,的输入 fooPIGbarPIGbaz应输出fooPIGbarPIGbaz到名为的文件中foo)。 聋猪 如果选择的是DeafPig,则什么也不做。(这只猪是聋的……你期望什么?) 杂项规则: “随机”表示每个选择的可能性大致相同(因此,在90%的时间内选择Pig,而在其他2.5%的时间内选择其他变体都是无效的)。 …

3
Brainfuck中的按位运算符
您的任务是为以下每个二进制运算符创建一个Brainfuck程序。每个程序应从输入中获取一个或两个8位数字(A和B)并计算指定的运算: A XOR B A AND B A OR B A Shifted Left by 1 (circular shift) NOT A 您不必全部实施5。得分的计算方式为: #totalCharacters + {4000 * #problemsNotCompleted} 因此,有效分数是从零(最佳)到20,000(未完成)。 我不在乎您将结果存储在哪里,也不管您是否保留输入。假设8位单元以及仅在右侧需要的空单元数。 您可能会认为数字已经在最适合您的任何内存位置中,因此您无需担心IO操作。
13 code-golf  binary  brainfuck  code-golf  code-golf  ascii-art  random  code-golf  code-golf  code-challenge  sorting  code-golf  code-challenge  java  code-golf  statistics  code-golf  code-challenge  fastest-code  code-golf  math  code-golf  math  kolmogorov-complexity  code-golf  code-golf  array-manipulation  combinatorics  code-golf  kolmogorov-complexity  popularity-contest  underhanded  code-golf  math  floating-point  code-golf  interpreter  code-golf  music  code-golf  code-golf  cryptography  code-challenge  scrabble  code-golf  code-challenge  popularity-contest  quine  code-golf  quine  cryptography  code-golf  kolmogorov-complexity  code-golf  printable-ascii  code-golf  chess  code-golf  math  number-theory  code-challenge  c  code-golf  random  popularity-contest  hello-world  code-shuffleboard  code-golf  compression  grammars  code-golf  tips  code-golf  sequence  code-golf  string  code-challenge  sorting  permutations  code-golf  string  code-challenge  optimization  code-golf  interpreter  code-challenge  string  code-golf  math  number  fibonacci  string  compression  c#  code-golf  chemistry  popularity-contest  math  c  c++  java  code-golf  math  function  code-golf  complex-numbers  code-golf  geometry 

10
天气预报
编写最短的程序来预测未来7天的天气 输入(来自stdin)是工作日和季节 (到标准输出)的输出是工作日的七行,温度为摄氏度 工作日从输入的工作日开始 温度是随机数字,其范围取决于季节 弹簧10-30度 夏季20至40度 秋季5-25度(秋季是秋季的代名词) 冬季-5-15度 样本输入 Thursday Winter 样本输出 星期四-1 星期五3 星期六8 星期日7 星期一10 星期二10 星期三-1 每次使用相同的输入运行您的程序时,其输出都不得相同
13 code-golf  random 

12
绘制分布图!
挑战 给您三个整数作为输入- min_value, max_value, sample_size,您可以将它们作为数组或多个参数传递给答案。 您的任务是以任何方便的格式输出图表,该图表将显示该(min_value, max_value)范围内的数字出现的频率,当该范围内的随机数(min_value, max_value)被选取时会显示出来sample_size。随机数序列应在您的答案内生成。 在较大范围和样本量的情况下,只要表示法保持准确,您就可以自由更改图表使用的步骤。 例 随着[1, 5, 10]输入: o o o x o x o x x x x x x x x 1 2 3 4 5 与[1, 100, 15]作为输入(在10步,所以00示出了1-9,图10示出10-19等): xx oo oo xx oo xx oo oo oo oo xx oo oo xx …
12 code-golf  random 

2
玩骰子板球游戏
骰子板球是我从小就被介绍的一款游戏,并且自那以后一直用作打发时间的一种方式。我找不到维基百科页面,所以我将在下面解释规则。 骰子板球规则 前提 骰子板球是类似于得分的游戏的游戏板球,你看它,但不是观看和录制的结果,你掷骰子,并记录结果。 结果记录在底部显示的表格中。 显示 骰子板球使用特定的显示屏来显示所有发生的信息。 该表有11行。每行代表一个击球手。该行的布局说明如下。 +------+------------------------------+---------+-----+ | Name | Runs | How Out |Score| +------+------------------------------+---------+-----+ 名称:名称必须是完全由大写或小写字母组成的字符串 运行:击球手可以面对30个球。每个球可以是之一1 2 4 6 . /。这将在下面更详细地说明 表现:击球手的出场方式。可以是任何Bowled, LBW (Leg Before Wicket), Caught, Retired or Not Out 分数:中的所有数字之和 Runs 游戏如何运作 在游戏中,球场上总是有2个击球手。默认情况下,第一个玩家是当前击球手,第二个是“关闭”击球手。 游戏是由“球”组成的:板球比赛中的每个球都由掷骰子表示。每个滚动执行不同的命令: 1,2,4和6使击球手得分高很多。如果将1滚动,则当前面糊将变为“关闭”面糊,而“ off”面糊将变为当前面糊 3是“圆点球”,表示什么也没有发生。它在本Runs节中以a表示.,得分为0。A 0不能用来表示它。 5是检票口。如果掷出5,则当前击球手为“出局”,这意味着a /被添加到奔跑中,此后,击球手将不再得分。然后将面糊与下一个未击打的面糊交换。本How Out节是随机选择的逃生方式:Bowled, LBW, Caught 检票口的示例(为清楚起见,这不是输出方式) …

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.