可以产生和为不变的N个随机数吗? 我有这样的一个要求,比如说:和为1000产生10个100左右的数字。如:99、101、102、99.9、93、107、100.1、96.2、104.8、99 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 产生90-110之间的10个和为1000的随机数,保留1位小数Random rnd = new Random();double[] rndnum = new double[10];double sum = 0.0;for (int i=0; i<9; i++){ rndnum[i] = Math.Round(100 + 20 * (rnd.NextDouble() - 0.5), 1); sum += rndnum[i]; Console.WriteLine(rndnum[i]);}rndnum[9] = Math.Round(1000 - sum, 1);Console.WriteLine(rndnum[9]);运行结果:101.997.3100.491.4102.590.994.491104.6125.6 rndnum[i] = Math.Round(100 + 20 * (rnd.NextDouble() - 0.5), 1);解释一下 rnd.NextDouble() - 0.5生成的是-0.5~+0.5之间的随机数,乘以20得到一个-10~+10之间的随机数,加上100范围就成了90~110,最后用Math.Round(double,1)四舍五入到1位小数 高手请进,C#操作Word“如何将多个文档合并到一个Word文档中” c/s客户端混淆? c#如何捕捉win32异常 求一段dephi转c#的代码 vb.net转C# blob类型数据存储问题,高手进!! 100分请教这个问题(不够在加) 在VS.NET的编程环境中,在选择“空的项目”进行Windows编程的疑惑 如何才可以使openfiledlg可以选择目录,而不是文件?(续集)-- poetc(伊公子)请关怀一下. 简单问题:关于鼠标操作 寻求“由于缺少主项目输出,未能生成附属程序集”的解决方法 强类型数据集与treeview
Random rnd = new Random();double[] rndnum = new double[10];
double sum = 0.0;
for (int i=0; i<9; i++)
{
rndnum[i] = Math.Round(100 + 20 * (rnd.NextDouble() - 0.5), 1);
sum += rndnum[i];
Console.WriteLine(rndnum[i]);
}
rndnum[9] = Math.Round(1000 - sum, 1);
Console.WriteLine(rndnum[9]);运行结果:
101.9
97.3
100.4
91.4
102.5
90.9
94.4
91
104.6
125.6
生成的是-0.5~+0.5之间的随机数,乘以20得到一个-10~+10之间的随机数,加上100范围就成了90~110,最后用Math.Round(double,1)四舍五入到1位小数