随机化的影响

本文关键字:影响 随机化 | 更新日期: 2023-09-27 18:11:09

我真的很抱歉,我想搜索我的问题,但我不知道如何正确地表达它,我在心算上有一个大问题,我一直在试图想出一个解决方案。我正在尝试为我的公会建立一个程序,将名字添加到列表中。该列表的每个条目都有一个并行结构体,用于保存个人姓名和向抽奖捐款的数量。

我想随机分配所有的名字,让结果受到人们投入的捐款额的积极影响。喜欢1或1%的可能性增加*捐赠的数量。我以前做过随机化,但我从来没有稍微影响过概率。帮帮我好吗?我会张贴代码,但我当时没有任何随机化。我可以给你一些其他的东西:

我创建了一个结构体来保存每个用户的条目:

    public struct pEntry
    {
        public string Name;
        public int Entries;
    }

我做了一个列表来保存所有条目:

    public List<pEntry> lEntries = new List<pEntry>();

我希望我的随机化受到他们所做的条目(捐赠)数量的积极影响。这没有上限,但如果我需要,也许我可以把它变成…255.随机化之后,它会选择显示一条消息,说那个用户赢了,它会从列表中删除那个条目,然后再选择几个。这个程序将用于多个抽奖和类似的事情,但都使用相同的系统。

随机化的影响

你需要知道多少捐款可以增加获胜的机会。1 =比没捐过的人多1个机会吗?一旦你有了底数和奖金,你就可以生成一个"图表",看看你的最高数字是多少,然后生成一个随机数。在那之后,你可以删除那个人或重置他们的机会,你想要的任何分数,重新生成你的机会列表,并生成一个新的数字。

例如,如果你想让一个捐赠单位给那个人增加10%的机会,那么你可以生成一个所有公会的列表,每个人获得10个"地段"+每个捐赠单位1个地段。如果有3个人,

  • Ann捐赠5个单位
  • Tom捐赠2个单位
  • Bob没有给出任何

结果列表将是:

  1. Ann批次数:10(基础)+ 5(捐赠)= 15批次
  2. Tom批次数:10(基础)+ 2(捐赠)= 12批次
  3. Bob批数:10(基数)+ 0(无捐赠)= 10批

然后在1到37(15 + 12 + 10)之间产生一个数字来决定获胜者。

弄清楚每次捐赠应该提高他们的几率(增加他们的数量),然后你可以开始建立你的范围和生成你的数字。