Wolfram mathematica 不同的列表是随机的

Wolfram mathematica 不同的列表是随机的,wolfram-mathematica,Wolfram Mathematica,首先,我生成随机数(比如1000个元素),如何知道有多少个元素的和小于或大于500 其次,我将生成4个随机数列表。分布在每个列表中的每个数字都不重复,若所有列表的总和为固定值,则将停止随机生成。 示例:1-4个列表;(1,2,3,4,5), (6,7,8,9,10), (11,12,13,14,15), (16,17,18,19,20); 4个列表的总和为210 我是如何运行comand的,比如“给我4个随机数,如果总和=210,就不要重复。” 感谢您的回答这报告了rand的第一个元素的数量超过

首先,我生成随机数(比如1000个元素),如何知道有多少个元素的和小于或大于500

其次,我将生成4个随机数列表。分布在每个列表中的每个数字都不重复,若所有列表的总和为固定值,则将停止随机生成。 示例:1-4个列表;(1,2,3,4,5), (6,7,8,9,10), (11,12,13,14,15), (16,17,18,19,20); 4个列表的总和为210

我是如何运行comand的,比如“给我4个随机数,如果总和=210,就不要重复。”


感谢您的回答

这报告了
rand
的第一个元素的数量超过500个

rand = RandomInteger[10, 1000];

Catch[total = 0;
 Map[If[(total += First[#]) > 500, Throw[#[[2, 1]]]] &, 
  MapIndexed[List, rand]]]
103

第二个问题

“每个列表中分配的每个数字都不重复。”

RandomSample
对此很有用。可以省略添加计数器
n

n = 0;

While[True,
 n++;
 total = Total@Flatten[lists = Table[RandomSample[Range[50], 5], 4]];
 If[total < 500, Break[]]]
lists
Row[{n, " loops"}]
n=0;
尽管如此,
n++;
总计=Total@Flatten[列表=表[RandomSample[范围[50],5],4];
如果[总数<500,则中断[]]
列表
行[{n,“循环”}]
{36,30,25,9,10},{36,22,44,13,2},{9,24,34,7,47},{5,28,15,36,22}

4圈


36出现在两个列表中,但每个列表本身没有重复。

我需要知道如何使用Wolfram-Mathematica解决问题。到目前为止,您尝试了什么?设置
total<500
后需要进行
total
测试。上面的代码将只返回第一个生成的列表,而不管它的总数。@RohitNamjoshi哦,是的。修好了。谢谢你,兄弟,我明白了。我的问题呢,@ChrisDegnen是一种更实用的方法,可以找到
rand
之和的第一个元素,超过500
rand//Accumulate//FirstPosition[x//;x>500]