What is the Probability
 发布时间 
 阅读量: 
 阅读量 
第1关:What is the Probability
100
- 任务要求
 - 参考答案
 - 评论
 
题目描述
概率在计算机算法领域扮演着至关重要的角色。当面对无法通过高效确定性算法解决的问题时,则可采用概率算法来寻找解决方案。本问题的目标是计算某位特定玩家赢得比赛的概率。这个游戏采用类似于掷骰子的方式进行(其结构与传统骰子不同)。具体来说,在每一轮游戏中,各玩家依次掷出类似骰子的物品以决定胜负(其结果由特定条件决定)。每当某位玩家掷出指定情况时,则该玩家被判定为胜者并结束比赛。
请计算第i位玩家赢得此游戏的概率。
输入输出格式
输入格式
对于每个测试案例,请在单行内计算并显示第i位玩家的胜率。请确保所返回的结果精确至四位小数位。
输入输出样例1
输入
        22 0.166666 12 0.166666 2
输出
        0.54550.4545
        1.  #include <stdio.h>
    
        2. const double tmp = 1e-7;
    
        3.  
    
        4. int main () {
    
        5. 	int cas, n, aid;
    
        6. 	double p, q;
    
        7. 	scanf("%d", &cas);
    
        8. 	while (cas--) {
    
        9. 		scanf("%d%lf%d", &n, &p, &aid);
    
        10. 		double ans = 0, c = p, q = 1;
    
        11.  
    
        12. 		for (int i = 1; i <= n; i++) {
    
        13. 			if (i < aid) c *= (1 - p);
    
        14. 			q *= (1 - p);
    
        15. 		}
    
        16.  
    
        17. 		while (c > tmp) {
    
        18. 			ans += c;
    
        19. 			c *= q;
    
        20. 		}
    
        21. 		printf("%.4lf\n", ans);
    
        22. 	}
    
        23. 	return 0;
    
        24. }
    
    代码解读
        全部评论 (0)
 还没有任何评论哟~ 
