c如何把数字随机分成多个数字,c# 如何把一个数字随机分成多个数字

2020-12-09 06:34:44 字数 6015 阅读 6402

1楼:匿名用户

1 在1000以内取9个随机数

2 把9个数从小到大排序

3 用第一个数减去0,第二个数减去第一个数,第三个数减去第二个数。。。一直到用1000减去第9个数

4 第3步中,每次相减得的差就是分得的一份。

2楼:匿名用户

生成随机数就得了。

random r=new random();

a1=r.next(0,1000);

a2=r.next(0,1000-a1);

a3=r.next(0,1000-a1-a2);..

.a10=r.next(0,1000-a1-a2-a3-a4-a5-a6-a7-a8-a9);

c#中怎么将一堆数字中,随机出一个 50

3楼:兄弟连教育北京总校

.***.frameword中提供了一个专门产生随机数的类system.random,此类默认情况下已被导入,编程过

程中可以直接使用。我们知道,计算机并不能产生完全随机的数字,它生成的数字被称为伪随机数,它是以相同的概率从一组有限的数字中选取的,所选的数字并不具有完全的随机性,但就实用而言,其随机程度已经足够了。

可以用以下两种方法初始化一个随机数发生器;

函数是这样用,比如100至999的随机数

random ran=new random();

int randkey=ran.next(100,999);

不过这样会有重复,可以给random一个系统时间做为参数,以此产生随机数,就不会重复了

第一种方法不指定随机种子,系统自动选取当前时前作随机种子:

random ra=new random();

第二种方法是指定一个int型的参数作为随机种子:

int iseed=6;

random ra=new random(iseed);

下面我们要用到random.next()方法产生随机数。

ra.next();

它返回一个大于或等于零而小于2,147,483,647的数,这并不满足我们的需要,下面我们介绍它的重载函数和其它一些方法。

public virtual int next(int);

用法:ra.next(20)

返回一个小于所指定最大值(此处为20)的正随机数。

public virtual int next(int minvalue, int maxvalue);

用法:ra.next(1,20)

返回一个指定范围内(此处为1-20之间)的随机数,我们在下面的实例中会用到此函数。

类system.random还有几个方法分别是:

公共方法:

nextbytes用随机数填充指定字节数组的元素。

nextdouble返回一个介于 0.0 和 1.0 之间的随机数。

受保护的方法:

sample返回一个介于 0.0 和 1.0 之间的随机数,只允许子类对象访问。

以上介绍了随机数的基本用法,下面我们用一个实例来做更进一步的介绍。要在一段数字区间内随机生成若干个互不相同的随机数,比如在从1到20间随机生成6个互不相同的整数。

主要是下面两个函数getrandomnum与getnum:

public int getrandomnum(int num,int minvalue,int maxvalue)

return arrnum;

}getrandomnum即是在区间[minvalue,maxvalue]取出num个互不相同的随机数,返回的数组包含着结果。

其中随机数是这样创建的 random ra=new random(unchecked((int)datetime.now.ticks));为什么不用random ra=new random();(系统自动选取当前时前作随机种子)

用系统时间做随机种子并不保险,如果应用程序在一个较快的计算机上运行,则该计算机的系统时钟可能没有时间在此构造函数的调用之间进行更改,random 的不同实例的种子值可能相同。这种情况下,我们就需要另外的算法来保证产生的数字的随机性。所以为了保证产生的随机数足够"随机",我们不得不使用复杂一点的方法来获得随机种子。

在上面的这段程序中,我们首先使用系统时间作为随机种子,然后将上一次产生的随机数跟循环变量和一个与系统时间有关的整型参数相乘,以之作为随机种子,从而得到了每次都不同的随机种子,保证了产生足够"随机"的随机数。

函数getnum是一递归,用它来检测生成的随机数是否有重复,如果取出来的数字和已取得的数字有重复就重新随机获取。值得注意的是要用一同一个随机数实例生成,所以ra要作为参数传入getnum中,否则生成的数字会有重复。

public int getnum(int arrnum,int tmp,int minvalue,int maxvalue,random ra)

n ;}

return tmp;

}最后就是要显示出来,当点击一个button时取出的数字显示在一个label中。

private void button1_click(object sender, system.eventargs e)

label1.text=temp; //显示在label1中}

c# 有一组数,每个数出现的概率不同,如何从这组数中随机抽出几个数,怎么实现? 15

4楼:匿名用户

staticvoidmain(stringargs)

//////获取若干个不同随机数字

//////数字与出现概率的配置

///获取数字个数

///staticlistgetrandnumlist(dictionarysetting,intnum)

returnret;

}///

///获取单个随机数字

//////数字与出现概率的配置

///staticintgetrandnum(dictionarysetting)

randomrand=newrandom();

doubler=rand.nextdouble()*total;//取一个随机数,乘以总概率值,映射到总概率值的区间内

total=0;

foreach(intkeyinsetting.keys)

}returnsetting.keys.last();//返回最后一个数,对应rand.nextdouble()随机到1.0的情况}

在c#中,怎样利用random从指定的几个数字中随机取出某个数字

5楼:乁

先把你的那

copy些数字放在一个数组或集合中,然后随机产生下标比如你的数是: 2 5 8 9 4int numbers = ;

int index = random.next(0,5);

console.write(numbers[index]);

6楼:无毒欧阳锋

random r=new random();

arrylist intarr=new arrylist();

arrylist.add(1);

arrylist.add(2);

arrylist.add(3);

arrylist.add(4);

return intarr(r.next(0,3));

手写bai的,可du能有zhi

误,dao大概就这内意容思

7楼:匿名用户

先把你那指定的几个数字放在一个数组中,随机出改数组的索引号,然后根据所以号得到他的值

如果你那指定的几个数字的个数是会变动的,那就用动态数组,不明白在来问

如何用c#从一组数中随机抽取数字?

8楼:匿名用户

int array = ;//按照楼主所说的3个数dictionaryextract = newdictionary();//记录每个数抽

取的次数

for (int i = 0; i < array.length; i++)

random ran = new random();

listlist = new list();//装载抽取出来的数for (int i = 0; i < 抽取次数; i++)else}

9楼:匿名用户

输入:列表 输出:随机元素public t getrandomitem(ilist list){ if (list == null) throw new argumentnullexception("list"); int count = list.

count; if (count == 0) return default(t); int index = new random().next(count); return lis..

excel如何将一个数字分成多个随机数字?随机数字之和等于总数?

10楼:小文

随机数字之和等于总数:你可以在另一单元格输入=sum(b1:b25)做检验

excel中大量的公式函数可以应用选择,使用microsoft excel可以执行计算,分析信息并管理电子**或网页中的数据信息列表与数据资料图表制作,可以实现许多方便的功能,带给使用者方便。

如何用c#产生两个随机数

11楼:何宜校

random会根据系统时间去随机,所以同时new两个random有可能会产生一样的随机数,

改成只用一个random对象就行了:

randomn1=newrandom();

num1=n1.next(0,100);

num2=n1.next(0,100);

12楼:邪玉小生

把**改成这样

random n1 = new random();

num1=n1.next(0,100);

num2 = n1.next(0, 50);

注意不同变量的后的next取值范围不能一样。

13楼:匿名用户

在开发过程中,常常要产生随机数,如生成静态 html 网页时,文件名通常用产生随机数的方式获得,生成定单的时候,定单号也可以用产生随机数的方式获得等。

在 c# 中,一般都用 random 产生随机数,它可任意指定产生随机数范围。random 结合数组,可以产生一些特殊范围的随机数,以满足特殊的需要。

一、用 random 产生指定范围随机数

1、产生指定上限的随机数(如产生100以内的随机数)

random ran = new random();

int n = ran.next(100);

2、产生指定上下限的随机数(如产生100到1000的随机数)

random ran = new random();

int n = ran.next(100, 1000);

二、用 random 结合数组产生指定范围随机数

在某些情况下,随机数只能取一些特殊指定的值,如不连续的数字或指定的一些单词等,此时仅用 random 无法达到要求,必须借住数组才能实现。实现思路大概是这样:先把这些特殊的值存到数组中,然后把数组的长度作为 random 的上限产生随机数,此随机数正是数组的下标,根据该下标取得数组的值。

1、示例一

假如要产生不连续的随机数,**如下:

public string getrandom(string arr)

调用方法:

string arr = ;

getrandom(arr);

2、示例二

假如要用指定单词作为随机数的取值,**实现跟示例一相同,所不同的仅是随机数的取值,所以只要定义一个单词数组直接调用上面**即可。

调用方法:

string arr = ;

getrandom(arr);

以上两种产生指定随机数的方法,都通过测试,可根据实际开发需要灵活选择,一般情况都是直接用 random 就可以了。

双双把家还猜数字,双双把家还猜一个数字?

1楼 侨中黄建成 双双把家还猜一个数字 答案 8。双 shu ng 造字法 原为会意 基本字义 1 两个,一对 一 鞋。 杠。 重 ch ng 。 方。 管齐下。 豆塞聪 耳被堵塞,一无所闻 。 瞳剪水 形容眼珠的清澈 。 智勇 全。盖世无 。 2 偶,与 单 相对 数。 号。 3 加倍的 料。 份...

c生成指定长度的字母数字组合,c# 输出26个字母和10个数字的所有组合?求完整代码

1楼 匿名用户 string str new string 6 console writeline 请输入要生成的6位字符 以回车分隔 str 0 console readline tostring str 1 console readline tostring str 2 console read...

小学一年级数学题是把,小学一年级数学题是把11.22.33.44.55.66.77.88.99这九个数字分别填入下面的

1楼 匿名用户 应该是九宫格的题目。 2楼 绝代天骄 请完善题目,o o谢谢! 3楼 可爱的赵鹏宏 剩余的题目跑哪儿去了?飞走了吗? 4楼 溋溋灬 下面的 what? 5楼 匿名用户 阿斯顿发股股份打算打算的撒非官方佛顶骨 把11 22 33 44 55 66 77 88这八个数分别填入括号里,使等...