摘要:/******************************************************************附一: P新郎 计算工具*******************************************************************/#include #include
double _p_win_A_in_B_games(double dWinPossiblity ,int a ,int b);
void usage(const char * argv0){?printf("useage:\n\t");?printf("%s ? \n",argv0);?printf("MUST 0< <1 AND 0<= ? <= ? AND >0 \n");?printf("for example : %s 0.2 20 5 \n",argv0);}
int main(int argc,char** argv){?if (4!= argc) ?{??usage(argv[0]);??return 1;?}
?double dWinPossiblity;?int iGameTimes ,iHitTimes;
?dWinPossiblity=atof(argv[1]);
?iGameTimes=atoi(argv[2]);
?iHitTimes=atoi(argv[3]);
?if ( dWinPossiblity<=0? || dWinPossiblity >=1 )?{??usage(argv[0]);??return 1;?}
?if (iHitTimes <0 || iHitTimes> iGameTimes)?{??usage(argv[0]);??return 1;?}
?if (iGameTimes <=0)?{??usage(argv[0]);??return 1;?}
?double p,pAtLeast;?int i;
?p= _p_win_A_in_B_games(dWinPossiblity ,iHitTimes ,iGameTimes);?pAtLeast=p;
?for (i=iHitTimes+1;i<=iGameTimes;i++)?{??pAtLeast+= _p_win_A_in_B_games(dWinPossiblity ,i ,iGameTimes);?}
?printf("%f %f\n",p,pAtLeast);
?return 0;}
template T times(T iDiShu,int iZhishu){?int i;
?if (iZhishu<=0 )??return 1;
?T result=1;
?for (i=0;i阅读全文]