比如说我在一个竞技场里PK,赢了得1分,再赢得2分,4分,8分……直到连赢十场,重新开始,输了也重新累计,现在要计算我1
3个回答

如果每次PK赢的概率为0.5,那么答案约为28.7549.

我是用C++来写的,不过用EXCEL也可以实现.

#include

using namespace std;

double score[11];

double dp[10][101];

bool done[10][101];

double pwin = 0.5;

double dodp(int last ,int left)

{

if(left == 0)

return 0;

if(done[last][left])

return dp[last][left];

done[last][left] = true;

dp[last][left] = 0;

dp[last][left] += pwin * (dodp((last + 1) % 10 ,left - 1) + score[last + 1]);

dp[last][left] += (1.0 - pwin) * dodp(0 ,left - 1);

return dp[last][left];

}

main()

{

score[1] = 1;

for(int i = 2 ; i