首页 > 代码库 > hdoj 3750 Guess Game 【数学之二分】
hdoj 3750 Guess Game 【数学之二分】
题意:用二分法找出数学期望。
策略,二分。
求数学期望有两种方法,一:求出每一个数的概率,再与数相乘,最后把所有的乘积相加就好了。
二:数学期望总是与平均数相等,所以可以当做求平均数。(简单方便)
代码:
#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 【数学之二分】
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。