hdoj 3750 Guess Game 【数学之二分】

来源:互联网 发布:阿里云邮箱格式咋写 编辑:程序博客网 时间:2024/05/17 17:45

题意:用二分法找出数学期望。

策略,二分。

求数学期望有两种方法,一:求出每一个数的概率,再与数相乘,最后把所有的乘积相加就好了。

二:数学期望总是与平均数相等,所以可以当做求平均数。(简单方便)

代码:

#include <stdio.h>#include <string.h>int sum;void bi_sear(int n){sum = 0;int temp, i, left, right, mid;for(i = 1; i <= n; i ++){temp = 0;left = 1; right = n;while(1){++temp;mid = (left+right)/2;if(mid == i){sum+=temp;break;}else if(mid < i) left = mid+1;else right = mid-1;}}}int main(){int n;while(scanf("%d", &n) == 1){bi_sear(n);printf("%.2lf\n", (sum*1.0)/n);}return 0;} 

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3750

0 0
原创粉丝点击