社区
VB基础类
帖子详情
怎样生成10个随机数,且其和为100?
tjcougar
2002-09-03 10:46:36
要求每次调用这个函数时,生成的随机数都不同
...全文
1303
17
打赏
收藏
怎样生成10个随机数,且其和为100?
要求每次调用这个函数时,生成的随机数都不同
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
17 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
huxiangming
2002-09-04
打赏
举报
回复
一个数值的精度高的数据,通过一定的算法变成精度低点的叫园整,其实象INT等也可以叫园整。
tjcougar
2002-09-04
打赏
举报
回复
大虾,恕我无知,什么是园整?
sunminxu
2002-09-04
打赏
举报
回复
你在第一个里就可以找到!
但是你不要在后面的问题里发出一样的东西!要是那样的话就不可以在以后的
几个例子里,发生同样的问题哦!
呵呵……
方工
2002-09-04
打赏
举报
回复
假设你要的是整数,那么用我的方法每次产生的t1,t2,...应当是四舍五入的最接近整数,由于误差的积累,最后的和结果可能不恰好等于100,那么就将最后一个数适当 + - 一个差值即可。
asdfsdfrewrwesr
2002-09-04
打赏
举报
回复
很简单啊。 用从午夜流失的秒数做种子。 得到的随机数的范围,可以这样
第一次 0--100 产生 N1
第一次 0--100-N1 .. N2
第一次 0--100-N2 .. N3
第一次 0--100-N3 .. 4N4
第一次 0--100-N4. .. N5
就可以了。当然,你要控制几个数的生成,当然有范围了。
huxiangming
2002-09-03
打赏
举报
回复
onestab的方法比较合理,这样才是真正的随机数,园整后多或少的数可以再使用一个(1-10)之间的随机数分配下去。
方工
2002-09-03
打赏
举报
回复
随便产生10个随机数 s1,s2...,将它们加起来,和为sum,
所求序列为 t1,t2,.., 和为100,
则: t1 = 100 * s1 / sum
(需要园整)
tjcougar
2002-09-03
打赏
举报
回复
我是说那样的话会成固定模式:前9个都在10以内,可是实际上完全有可能大于10
bluecc
2002-09-03
打赏
举报
回复
对一>=1的数,只要在生成随机数时加个判断就行了.小于就再生成一个
不会的啊,楼主的要求是每次都不一样,这样可以实现的啊
tjcougar
2002-09-03
打赏
举报
回复
to 深蓝:
那样就不是真正的随机数了
tjcougar
2002-09-03
打赏
举报
回复
很不错,可是这样会有为0的数
要求>=1
bluecc
2002-09-03
打赏
举报
回复
我说的是,前9个只要都不超过10,在放大随机数的时候取放大倍数小一点就行了.
bluecc
2002-09-03
打赏
举报
回复
不会的啊,因为随机生成的数在0-1之间,所以怎么加都不会超过100的,而且原来没有说明数的大小,所以前9个怎么都行
fansofamei
2002-09-03
打赏
举报
回复
以上有误,算来以上sum之和大于100,难道要负数
应对所取的数作控制,
dim max,min
randmize now
num1=max-min+rnd-1'max为控制范围内最大数,min为最小数
其他如楼上
wiw
2002-09-03
打赏
举报
回复
init=100
for i=1 to 9
randmize
d(i)=init*rnd
init=init-d(i)
sum=sum+d(i)
next
d(10)=100-sum
tjcougar
2002-09-03
打赏
举报
回复
前九个怎么能随便生成?
bluecc
2002-09-03
打赏
举报
回复
其实我觉得只要控制最后一个就行了,前九个随便生成,第十个用100减不就可以了.
VB
生成
不重复的
随机数
VB
生成
不重复的
随机数
我的建议是:第一步、先做一个数组,存上这35个数(可以不是连续的数,也可以是人名、字符串什么的);第二步、随机
生成
一个1-35之间的数,输出;第三步:把这个数和数组的第一个单元交换;第四步、从数组的第2-35之间随机抽取第二个数,输出;第五步、把这随机抽取的第二个数和数组的第二个单元内容呼唤;第六步、随机抽取第三个数,输出。。。。。重复到从第35-35个数之间随机抽取一个数,这时直接输出最后一个就行了。
[Labview]产生
100
个
随机数
,求其最小值和平均值。.zip
[Labview]产生
100
个
随机数
,求其最小值和平均值。
CRC与ADC与DMA与
随机数
发生器-第5季第5部分
结合朱老师物联网大讲堂专为nbiot物联网开发而设计的NB476开发板,本季课程能够让大家彻底掌握物联网时代以nbiot和低功耗STM32L4单片机为代表的典型开发模式,实战意义非常重要。 课程特色 *完全零基础,降低学习...
mysql
生成
指定位数的
随机数
及批量
生成
随机数
的方法
1. 先介绍几个常用的 MySQL 函数 RAND() 随机
生成
0~1 之间的小数(0<1) CEILING 向上取整 FLOOR 向下取整 2.
生成
随机数
--
生成
3 位的
随机数
SELECT CEILING(RAND()*900+
100
); --
生成
4 位的
随机数
SELECT CEILING(RAND()*9000+
100
0); --
生成
5 位的
随机数
SELECT CEILING(RAND()*90000+
100
00); ... 示例: 解释一下: --
生成
0~1 之间的随机小数 0 < RAND() <1 -- 乘以 9000,变成
1、定义线程,工作:
生成
10个
1--
100
的
随机数
,并计算平均数
1、定义线程,工作:
生成
10个
1--
100
的
随机数
,并计算平均数; 2、由于要启动三个线程,最后需要获取三个平均数,再计算平均数,所以需要线程返回值,因此,需要线程实现Callable接口。
VB基础类
7,763
社区成员
197,605
社区内容
发帖
与我相关
我的任务
VB基础类
VB 基础类
复制链接
扫一扫
分享
社区描述
VB 基础类
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章