首页 > Windows开发 > 详细

c# 自动生成N个随机数和为1

时间:2021-08-26 11:47:10      阅读:29      评论:0      收藏:0      [点我收藏+]
       double arraysum = 0.0;
            //定义一个生成随机数的数组
            double[] array = new double[number];
            //生成随机数方法
            Random rdnumber = new Random();
            // 生成N-1的随机数值
            for (int i = 0; i < number - 1; i++)
            {
                array[i] = Math.Round(rdnumber.NextDouble() / number, 2);
            }
            //生成最后一位随机数;值为 1-上面随机数的和
            for (int a = 0; a < array.Length; a++)
            {
                arraysum += array[a];
                if (a == array.Length - 1)
                {
                    array[a] = 1 - Math.Round(arraysum, 2);
                }
            }
            //随机数排序
            Array.Sort(array);
--------------------------另一种方法,有规律的随机数
            int n =5;
            
            double a =0;
           // var c ="";
            double[] value = new double[n];
            double[] array = new double[n];
            for (int i = 0; i < n ; i++)
            {
                value[i] = i + 1;
                a += value[i];
            }
            for (int b = 0; b < n; b++)
            {
                array[b] = value[b] / a;
               // c += array[b] +",";
            }
            Array.Sort(array);

 

c# 自动生成N个随机数和为1

原文:https://www.cnblogs.com/lvqianqian/p/15188517.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!