我真的很抱歉,我会搜索我的问题,但我不知道如何正确地表达,我在心理数学方面有一个很大的问题,我一直在努力想一个解决方案。我正在试着为我的行会创建一个程序,将名字添加到列表中。对于每个条目,这个列表都有一个并行的结构,该结构保存了抽奖活动的人名和捐款数量。
我想对所有的名字进行随机化,并让人们投入的捐款数量对结果产生积极影响。喜欢增加1%或1%的可能性*捐赠数量。我以前做过随机化,但我从来没有稍微影响过概率。请帮帮我好吗?我会发布代码,但我当时没有任何随机化。不过,我可以给你一些其他的东西:
我创建了一个结构来保存每个用户的条目:
public struct pEntry
{
public string Name;
public int Entries;
}我做了一个列表来保存所有的条目:
public List<pEntry> lEntries = new List<pEntry>();我希望我的随机化受到他们所做的参赛作品(捐赠)数量的积极影响。这是没有上限的,它可以达到多高,但如果我需要,也许我可以让它像..255.在随机化之后,它将挑选并显示一条消息,说明该用户已获胜,它将从列表中删除该条目并选择更多条目。这个程序将用于多个抽奖和类似的事情,但所有使用相同的系统。
发布于 2013-04-27 08:49:02
你需要知道多少捐款会增加获胜的机会。1=1的机会比没有捐献的人多吗?一旦你有了基数和奖金,你就可以生成一个“图表”,看看你的最高数字是什么,然后生成一个随机数字。在此之后,您可以删除该人或将其机会重置为您想要的任何分数,重新生成您的机会列表,并生成一个新数字。
例如,如果你想让一个捐赠单位为这个人多出10%的机会,那么你可以生成一个所有行会的列表,每个人得到10个“lot”+每个捐赠单位1个lot。因此,如果你有3个人,其中:
给了5个捐赠单位,
没有给
得到的列表将是:
然后生成一个介于1和37 (15 + 12 + 10)之间的数字来确定获胜者。
找出每笔捐款应该提高他们的赔率(增加了他们的抽签),然后你就可以开始建立你的范围并生成你的数字。
https://stackoverflow.com/questions/16247103
复制相似问题