连续投掷一枚均匀骰子,直到和是5的倍数结束。平均期望投掷次数是多少?精确到小数点后两位。用C语言编

2024-12-27 07:16:52
推荐回答(1个)
回答1:

#include
#include
#include
#define LOOP_TIMES 1000//实验次数 
int project(int n)
{
    int times=0,sum=0,i;
    srand(time(NULL)*n*n*10678);
    do
    {
        times++;
        sum+=rand()%6+1;
        
    } while(sum%5) ;
    return times;
}
int main()
{
    int sum=0,i;
    float av;
    for(i=1;i<=LOOP_TIMES;i++)
    {
        sum+=project(i);
    }
    av=(float)sum/i;
    printf("%.2f",av);
    return 0;
}

当实验次数大于1000时,结果还是比较稳定的。