hdu 4465 Candy 数学

思路:易知结果为

∑(n-k)*C(n+k,k)*(p^(n+1)*q^k+q^(n+1)*p^k).

注意不能直接算,注意点技巧!!!看代码

代码如下:

 #include<iostream>
#include<stdio.h>
#include<algorithm>
#include<iomanip>
#include<cmath>
using namespace std;
int main(){
int n,i,j=;
double p,q,ans1,ans2,m,c,pq,ans;
while(scanf("%d%lf",&n,&p)!=EOF){
q=-p;
pq=p*q;
ans1=n*p;ans2=n*q;c=;
for(i=;i<=n;i++){
c*=(n+i)*pq/i;
ans1+=c*(n-i);
ans2+=c*(n-i);
ans1*=p;
ans2*=q;
}
ans=ans1+ans2;
printf("Case %d: %.6lf\n",++j,ans);
}
return ;
}
上一篇:乔布斯在位时,库克实质上已经在做CEO的工作了:3星|《蒂姆·库克传》


下一篇:volatile-java关键字