Net Core教程

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

本文主要是介绍c# 自动生成N个随机数和为1,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
       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的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!