搜索
bottom↓
回复: 8

均匀随机分布问题,谢谢!

[复制链接]

出0入0汤圆

发表于 2009-6-4 11:25:07 | 显示全部楼层 |阅读模式
问题:
幼儿园有32个小朋友排成队领苹果,但只有25个苹果,该怎么分派才能保证排队的小孩均匀拿到呢?好象是均匀随机分布的问题吗?
如果用FPGA实现,该怎么弄呢?

谢谢

阿莫论坛20周年了!感谢大家的支持与爱护!!

曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……

出0入0汤圆

发表于 2009-6-4 12:33:39 | 显示全部楼层
无法理解!

如果要均分,那就是每人 25/32 个苹果,但是就没有排队的必要了
如果先来先得,那么后面的人就没有苹果

何谓均匀拿到?

出0入0汤圆

 楼主| 发表于 2009-6-4 13:18:52 | 显示全部楼层
谢谢,我只是举个例子.

肯定有7个小孩拿不到,想避免下面情况发生:
连续10个小孩都拿到,或者连续5个小孩拿不到.

没学过概率论,网上找了,象是平均随机分布的问题.

出0入0汤圆

发表于 2009-6-4 13:24:54 | 显示全部楼层
那就是环,而不是队了啊
这和概率论没关系啊

给一段 C 的伪代码

LOOP:
    X += 25.0/32.0;
    if (X >= 1)
        给苹果;
        X -= 1;
    GOTO LOOP;

出0入0汤圆

 楼主| 发表于 2009-6-4 14:08:51 | 显示全部楼层
谢谢,我来好好学习.

出0入0汤圆

 楼主| 发表于 2009-6-4 14:27:57 | 显示全部楼层
非常感谢,我刚才用几组数验证了很正确实用.

出0入0汤圆

 楼主| 发表于 2009-6-11 10:57:16 | 显示全部楼层
always @ (posedge clk)
begin
                        if (start)
                                begin
                                        if (cnt<256)
                                                begin
                                                        temp<=temp+remainder;
                                                        if (temp>=256)
                                                                begin
                                                                        addImg[cnt]<=1;
                                                                        temp<=temp-256;       
                                                                end
                                                        else
                                                                addImg[cnt]<=0;
                                                        cnt<=cnt+1;       
                                                end
                                        else
                                                overSeekImg<=1;
                                end
                        else
                                begin
                                        temp=0;
                                        cnt=0;
                                end
                end

出0入0汤圆

 楼主| 发表于 2009-6-11 11:01:36 | 显示全部楼层
always @ (posedge clk)
   begin
      if (start)
        begin
           if (cnt<8)
                begin
                   temp<=temp+remainder;
                   if (temp>=8)
                      begin
                        addImg[cnt]<=1;
                        temp<=temp-8;       
                      end
                   else
                      addImg[cnt]<=1;
                   cnt<=cnt+1;       
                end
           else
              begin
                temp=0;
                cnt=0;
           end
    end

出0入0汤圆

 楼主| 发表于 2009-6-11 11:06:23 | 显示全部楼层
上面是实现代码,但是不对的,
temp<=temp+remainder;
if (temp>=8)

如果改成阻塞赋值就对了.
temp=temp+remainder;
if (temp>=8)

但又想做成时序电路,该怎么做呢?谢谢
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-6-1 10:16

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表