怎样写一个C语言程序计算以下问题?

发布时间:2023年12月22日

怎样写一个C语言程序计算以下问题?



在开始前我有一些资料,是我根据自己从业十年经验,熬夜搞了几个通宵,精心整理了一份「C语言的资料从专业入门到高级教程+工具包」,点个关注,全部无偿共享给大家!!!

在评论区回复“888”之后私信回复“888”,即可拿走。


现在一共有十个事件,每个事件发生的概率分别为0.752,0.762,0.349,0.571,0.322,0.323,0.714,1.000,0.633,0.789。请计算其中有0-10个事件发生的概率分别是多少?

这个我感觉主要有3种解法哈。

第一种就是写10个for循环嵌套,每个for循环可以用0和1枚举当前事件是否发生,在最每层循环内就可以确定每个事件是否发生,以及相应的概率。但是比较繁琐不灵活,适用于事件数量不多的情况。

第二种就是递归,上面有位回答的同学已经给出代码了,大概思想就是每次处理当前事件,根据是否发生分两种情况,然后再递归调用去处理下一个事件,同时记录事件发生数目和累计概率。

第三种是循环,需要一些bitmask基础哈。就是用一个循环

for(int x = 0; x < (1 << 10); x++)

其中x要按照二进制来看,而且要看它的最低10个bit位,如果第k个bit位是1表示第k个事件发生,否则不发生。然后就可以确定每个事件是否发生了,以及对应的概率。c8f8441451b20339c14b3954ddfd6b0a.jpeg

文章来源:https://blog.csdn.net/linlaoshi2009/article/details/135152518
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。