码迷,mamicode.com
首页 > 其他好文 > 详细

hdoj 3750 Guess Game 【数学之二分】

时间:2014-08-25 23:00:45      阅读:466      评论:0      收藏:0      [点我收藏+]

标签:二分   数学   

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

策略,二分。

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

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

代码:

#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

hdoj 3750 Guess Game 【数学之二分】

标签:二分   数学   

原文地址:http://blog.csdn.net/shengweisong/article/details/38820175

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!