| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 744 人关注过本帖
标题:寻求指点~~~随机数相关的算法
只看楼主 加入收藏
日的起烟烟
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:137
专家分:129
注 册:2010-2-27
结帖率:75%
收藏
已结贴  问题点数:20 回复次数:8 
寻求指点~~~随机数相关的算法
RT

假如有10个字母分别是  A B C D E F G H I J K

现在要这样:

刚开始的时候大家出现的几率一样,然后随机出现一个。

出现后,在随机生成一个1或一个0  

接下来这样处理:

如果出现0 , 现在出现的这个字母下一次再出现的几率就减小一点点,如果是1,下一次出现的几率就多一点点。

谁能给些好的思路或是算法啊

我想了几个钟头了··555555··

这个题难不难啊··我是不是很笨啊··
搜索更多相关主题的帖子: 字母 
2011-11-18 21:56
cnfarer
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:179
帖 子:3330
专家分:21157
注 册:2010-1-19
收藏
得分:10 
看似简单,实则不易.

★★★★★为人民服务★★★★★
2011-11-18 22:05
czz5242199
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:4
帖 子:660
专家分:2400
注 册:2011-10-26
收藏
得分:10 
你有很多东西没有说明,首先,1点点是多少的几率?然后要随机多少次?

我给个大概思路:如果a[1-100]分别代表A-K,每个字母占10个格 ,每次出现0或者1后加或减去一个(这里到底数量怎么处理取决于一点点几率到底是多少),然后不断随机就行了
2011-11-18 22:06
日的起烟烟
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:137
专家分:129
注 册:2010-2-27
收藏
得分:0 
随机次数和哪个一点点可以自己设定的···

LS说的是每个字母占10个可能,然后在100个可能中随机出现一个可能,然后判断再哪一个字母范围内,然后根据0或1,
让每个字母所占据的范围减少货增加一点一点。

这样的话,问题是,下一次在什么样的范围产生随机可能呢,

假如刚开始的时候是[A-K][1-100],每个为1/10可能
某个出现了一次后,然后出0, 这个字母的格子减少1个,那么下次在100个可能的范围产生随机可能
还是在99的范围产生随机可能?

99的话, 其他就个字母出现的几率就是10/99的可能, 虽然变了,但是相对还是相同的,
然后出现过的字母就是9/99的可能, 也的确是减少了。但是其他字母的原始几率是发生了改变的。

100的话, 其他10个不变,出现过的就是9/10,满足要求。
但有问题:
1. 先是现在的100个可能中只有99个有效,有一个是无效的,
   所以,假如当10个字母都已发展现到减少了9个可能的时候,就是减少了90个有效可能,
   那么在100个可能中只有10个是有效的。这样的话,每次产生随机的可能的时候都要
   跳过这90个无效的,然后重新再在100个可能中随机一个,效率很不好。

2.如果一开始是出现1的话, 那么怎么办呢?那么最起码要在101可能中随机一个出来。
  那样的话,别的9个字母就是,10/101,又发生了变化,
  已经出现过的变成了, 11/101 率大于 1/10,  满足。

哎··头很大啊··成浆糊了··


[ 本帖最后由 日的起烟烟 于 2011-11-18 22:34 编辑 ]
2011-11-18 22:27
czz5242199
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:4
帖 子:660
专家分:2400
注 册:2011-10-26
收藏
得分:0 
99的话, 其他就个字母出现的几率就是10/99的可能, 虽然变了,但是相对还是相同的,
然后出现过的字母就是9/99的可能, 也的确是减少了。但是其他字母的原始几率是发生了改变的。


如果其他字母的原始几率不变,那么这个字母的几率怎么变?

多次随机
2011-11-18 22:32
日的起烟烟
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:137
专家分:129
注 册:2010-2-27
收藏
得分:0 
如果每个字母设置在1-10000,总有效可能就是10W个

而且很倒霉的发展了每个字母的有效可能发展到只有100个,那么无效的可能就是10W - 1Q = 9W9Q,

那么跳过9W9Q个无效,有效的只有1000个,效率极低啊··

2011-11-18 22:38
日的起烟烟
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:137
专家分:129
注 册:2010-2-27
收藏
得分:0 
怎么做到只变出现过的的几率,而不变其他出现过的几率
2011-11-18 22:38
czz5242199
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:4
帖 子:660
专家分:2400
注 册:2011-10-26
收藏
得分:0 
那就用指针实现呗
2011-11-18 22:48
日的起烟烟
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:137
专家分:129
注 册:2010-2-27
收藏
得分:0 
以下是引用czz5242199在2011-11-18 22:48:31的发言:

那就用指针实现呗
看不懂
2011-11-19 00:17
快速回复:寻求指点~~~随机数相关的算法
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019987 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved