设计个算法

kakane 2011-03-16 01:56:47
1班33人 2班37人 3班10人 一起上课 用最简单的方法使每个学生回答问题的概率相同 设计一个算法。
...全文
264 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
lition2011 2011-03-19
  • 打赏
  • 举报
回复
随机数。。。。。。
kakane 2011-03-19
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 sbwwkmyd 的回复:]
引用 11 楼 kakane 的回复:
我想的方法(现实中)将80人统一编号 准备5张纸条 1 、2 、3 、 4 、5 先用 带有 1 、2 、 3 、4 的纸条 用手随机抽出一张 然后放入 在随机抽出一张 最后 5 张都用 抽出一张 。 例如 第一次抽出4 第二次又抽出 4 最后抽出5 则 4*4*5=80 第80号 这个方法能用计算机实现吗? 怎么实现? 谁还有更简单的方法 (现实中)
……
[/Quote]抽出 1、 2、 2 就是七号啊
showjim 2011-03-18
  • 打赏
  • 举报
回复
应该是 16x + 4y + z (1<=x<=5)
或者 20x +4y + z (1<=y<=5)
或者 20x +5y + z (1<=z<=5)
showjim 2011-03-18
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 kakane 的回复:]
我想的方法(现实中)将80人统一编号 准备5张纸条 1 、2 、3 、 4 、5 先用 带有 1 、2 、 3 、4 的纸条 用手随机抽出一张 然后放入 在随机抽出一张 最后 5 张都用 抽出一张 。 例如 第一次抽出4 第二次又抽出 4 最后抽出5 则 4*4*5=80 第80号 这个方法能用计算机实现吗? 怎么实现? 谁还有更简单的方法 (现实中)
[/Quote]
怎么才能抽出7号?
kakane 2011-03-18
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 coolfatman 的回复:]
引用 11 楼 kakane 的回复:

我想的方法(现实中)将80人统一编号 准备5张纸条 1 、2 、3 、 4 、5 先用 带有 1 、2 、 3 、4 的纸条 用手随机抽出一张 然后放入 在随机抽出一张 最后 5 张都用 抽出一张 。 例如 第一次抽出4 第二次又抽出 4 最后抽出5 则 4*4*5=80 第80号 这个方法能用计算机实现吗? 怎么实现? 谁还有更简单的方法 (现实中)……
[/Quote]
理解了我的意思
fall513 2011-03-17
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 coolfatman 的回复:]

引用 11 楼 kakane 的回复:

我想的方法(现实中)将80人统一编号 准备5张纸条 1 、2 、3 、 4 、5 先用 带有 1 、2 、 3 、4 的纸条 用手随机抽出一张 然后放入 在随机抽出一张 最后 5 张都用 抽出一张 。 例如 第一次抽出4 第二次又抽出 4 最后抽出5 则 4*4*5=80 第80号 这个方法能用计算机实现吗? 怎么实现? ……
[/Quote]
他没表达清楚,他应该是建一个[5][4][4]的三维数组,然后把80个数顺序存入,再抽取3个系数
Coolfatman 2011-03-17
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 kakane 的回复:]

我想的方法(现实中)将80人统一编号 准备5张纸条 1 、2 、3 、 4 、5 先用 带有 1 、2 、 3 、4 的纸条 用手随机抽出一张 然后放入 在随机抽出一张 最后 5 张都用 抽出一张 。 例如 第一次抽出4 第二次又抽出 4 最后抽出5 则 4*4*5=80 第80号 这个方法能用计算机实现吗? 怎么实现? 谁还有更简单的方法 (现实中)
[/Quote]

这个做法有问题,你有没有听说过有种数叫 质数
kakane 2011-03-17
  • 打赏
  • 举报
回复
我想的方法(现实中)将80人统一编号 准备5张纸条 1 、2 、3 、 4 、5 先用 带有 1 、2 、 3 、4 的纸条 用手随机抽出一张 然后放入 在随机抽出一张 最后 5 张都用 抽出一张 。 例如 第一次抽出4 第二次又抽出 4 最后抽出5 则 4*4*5=80 第80号 这个方法能用计算机实现吗? 怎么实现? 谁还有更简单的方法 (现实中)
Coolfatman 2011-03-17
  • 打赏
  • 举报
回复
如果是上课时候的做法,让学生把作业本交上来。任意摆放。要提问的时候抽一本就行了。
Coolfatman 2011-03-17
  • 打赏
  • 举报
回复
最简单的算法,不就是产生一个80以内的随机数吗?
moorsf 2011-03-17
  • 打赏
  • 举报
回复
实现类似约瑟夫环,所有的学生放到一个线性结构中。

数组的实现设标志位
链表的实现做循环链表

每一个学生答完题,模数m减一,用随机产生的0-m-1之间的数来找下一个学生。
FlylyBird 2011-03-17
  • 打赏
  • 举报
回复
总之需要一个外来的随机的量,这个量的随机性是足够的,否则无解
原来缘来 2011-03-16
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 ulfsaar 的回复:]
每个人都应该对应一个号码,将这些号码存在一个长度为80的数组中(a[80]),
再产生一个随机数N,N = n%80,a[N]即是对应的学生号码。
[/Quote]
可以了
kyle.tian 2011-03-16
  • 打赏
  • 举报
回复
貌似有道理
Ulfsaar 2011-03-16
  • 打赏
  • 举报
回复
每个人都应该对应一个号码,将这些号码存在一个长度为80的数组中(a[80]),
再产生一个随机数N,N = n%80,a[N]即是对应的学生号码。
kakane 2011-03-16
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 diamont1001 的回复:]
每个学生的概率都是 1/80
[/Quote]
晕 谁都知道是1/80之一 问题是如何快速有效的选出来 使每个人都有1/80的表现机会 不要说 写80个纸条然后抽签 等写完了已经下课了
fengzhw 2011-03-16
  • 打赏
  • 举报
回复
答过的就不让再答了,全答过从头再来。
可乐崽 2011-03-16
  • 打赏
  • 举报
回复
每个学生的概率都是 1/80

33,008

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧