问题描述
小明同学要参加一场考试,考试一共有n道题目,小明必须做对至少60%的题目才能通过考试。考试结束后,小明估算出每题做对的概率,p1,p2,…,pn。你能帮他算出他通过考试的概率吗?
输入输出要求
输入:
输入第一行一个数n(1<=n<=100),表示题目的个数。第二行n个整数,p1,p2,…,pn。表示小明有pi%的概率做对第i题。(0<=pi<=100)
输出:
小明通过考试的概率,最后结果四舍五入,保留小数点后五位。
解题思路
- 首先我们可以求出小明至少要做对多少道题目才能通过这场考试。m=3n/5取上界,在代码中可用(3*n+4)/5来计算。
小明至少要答对m道题目才能通过考试。我们用f(i,j)表示在第1,2,3,…. i道题目中(对于f(i,j),显然有j <= i),小明一共能答对j道题目的概率。对于第i道题目,我们分别考虑小明能做对这道题,还是不能做对这道题,于是有以下公式:
f(i,j)={ f(i−1,j)(1−p