社区首页 >   站务公告  > 【比购签到活动,通用抽奖算法】

主题:【比购签到活动,通用抽奖算法】 

至尊购神   帖子:16333   精华:76   晒单:24   贝壳:0   来自:   发表于:2012-09-29 10:26:26.0
奖励 3个贝壳


【比购签到活动,通用抽奖算法】


  Step1:提取当天日期数值对应的所在楼层回复时间信息,作为“基础数据”

      如7月23日(星期一)的报道帖,即提取723楼的回复时间信息;


      【说明:2012年8月1日开始,是从801楼起取值。】

 

  Step2:将“基础数据”包含的数字,逐个相加后的结果值,作为“除数”
      假设723楼的回复时间信息为:2012-07-23 06:00:00
      即:2 + 0 + 1 + 2 + 0 + 7 + 2 + 3 + 0 + 6 + 0 + 0 + 0 + 0 = 23; 则,“除数”为23。

 

  Step3:将当天的星期数,作为“权值”,对“除数”进行加权;得到“加权除数”
      “权值”加在“除数”之前;即,得到“加权除数”123。

      注:星期一至星期天的“权值”对应1~7区间的自然数。

 

  Step4:提取当天总回复楼层的数值(简称“总楼层数”,下同),作为“被除数”
      将“被除数”除以“加权除数”,得到商的小数部分,作为“准备数”
      假设总楼层数是1234楼,即1234 / 123 = 10.03252033…
      则“准备数”为03252033…

 

  Step5:依据总楼层数的位数“x”、“准备数”,进行最终“准获奖楼层”的取值;
      即,总楼层数是1234楼,则x=4;若是12345楼,则x=5;以此类推;

 

      具体“准获奖楼层”取值规则
      (1) 依据“x”的值,取“准备数”自左向右顺序,“x”位的数值,作为“楼层基数”
         即1234楼的“x”= 4;则得到“楼层基数”为0325。

 

      (2) 若“楼层基数”小于总楼层数,则“楼层基数”即为“准获奖楼层”;
         如325 < 1234,则325为“准获奖楼层”(诸如“0325”最前面的0,自然消除)。

 

      (3) 若“楼层基数”大于总楼层数,且“x”≤ 4时;
        则将“楼层基数”减去总楼层数,得到的结果数值,即为“准获奖楼层”。

 

      (4) 若“楼层基数”大于总楼层数,且“x”≥ 5 时;
        则使用0~“权值”区间的自然数,从“权值”开始依次递减替换“楼层基数”左起第1位; 
        直至获得小于总楼层数的数值,则该数值即为“准获奖楼层”。

        注:此过程中,一旦替换后的数值小于总楼层数,则停止后续数值的替换,

               当前小于总楼层数的数值,即为“准获奖楼层”。

 

      (5) 若Step4中,“被除数”除以“加权除数”,正好除尽,则商的数值即为“准获奖楼层”。

 

      (6) 若组成“楼层基数”的数值每一位都是0,则商的整数部分的数值即为“准获奖楼层”。

 

 

【友情提示】本活动抽奖算法,得出的“准获奖楼层”数值,仅作为活动的数据支持;

       最终,该数值对应楼层的用户,是否有资格获得奖品,则依据其在参与具体活动的内容是否有效;

       有效性的判定,则依据具体活动描述的“规则”。

本贴近3个月得分记录(顶贴:0人,收藏:2人)
abby8** 收藏 +0
玩转** 收藏 +0
比购盒子下载