zoukankan      html  css  js  c++  java
  • 明日方舟六星出货率

    计算方式:

    抽奖。每次有2%几率抽中6星人物,如果超过50抽都没抽到,则下一次(第51次)抽中概率+2%,以此类推

    #include <iostream>
    #include <stdlib.h>
    #include <time.h>
    #include <windows.h>
    
    int rand_2(void);
    
    
    using namespace std;
    
    int main(int argc, char *argv[])
    {
        int a;    //得到的随机数
        int count = 0;    //抽到6星的次数
        int flg = 0;    //标志位,表示距离上一次抽到6星的抽数
        srand((unsigned)time(NULL));     //随机种子
    
        for(int i = 0; i < 99999999; ++i)
        {
            if(flg <= 50)    //50抽以内都是2%几率
            {
                a = rand_2();
                if(a < 20)    //表示抽到了 计数+1 标志位清零
                {
                    count++;
                    flg = 0;
                }
                else     //没抽到,标志位++
                {
                    flg++;
                }
            }
            else if(flg > 50)    //超过50抽之后每抽一次多增加2%
            {
                a = rand_2();
                if(a < 20 + (flg-50)*20)    //增加2%        
                {
                    count++;
                    flg = 0;
                }
                else
                {
                    flg++;
                }
            }
        }
        cout<<"count is :"<<count<<endl;
    }
    
    //生成1000以内的随机整数
    int rand_2()
    {
        int a ;
        a = rand()%1000;
        return a;
    }

    总共抽了99999999次,出了2875438次6星

    所以,平均34.7抽可抽中一次6星

  • 相关阅读:
    HDOJ 1588 Gauss Fibonacci
    HDOJ 1494 跑跑卡丁车
    初识Linux
    大数据教程
    80后上班族
    人际交往,七种心态最惹人讨厌
    商人初步
    分页存储过程
    父母生日
    dephi小技巧
  • 原文地址:https://www.cnblogs.com/qifeng1024/p/12843147.html
Copyright © 2011-2022 走看看