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,就不要重复。”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的第一个元素的数量超过
感谢您的回答这报告了
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
之和的第一个元素,超过500rand//Accumulate//FirstPosition[x//;x>500]