西安电子科技大学第16届程序设计竞赛网络同步赛 D-另一个另一个简单游戏
链接:https://www.nowcoder.com/acm/contest/107/D
来源:牛客网
题目描述
现在有n个数,每次随机取出两个数x,y,然后加入一个数为(x+y)/2,问最后剩下的那个数的期望是多少?
输入描述:
有多组输入数据,第一行为一个数字T,代表有T组输入数据 (0 < T ≤ 20)。
接下来为T组数据。
每组测试数据分2行:
第一行为n,表示有n个数(1 ≤ n ≤ 100)
接下来的一行有n个正整数ai,表示初始的n个数(1 ≤ ai ≤ 10000,1 ≤ i ≤ n)。
输出描述:
对于每组数据,在一行上输出最后剩下数的期望值的整数部分。
示例1
输入
2
3
1 1 1
2
2 3
输出
1
2
思路
变治法。
最后剩下数的数学期望值,即是这n个数的平均值。
AC代码
#include <iostream>
using namespace std;
int main() {
int T;
cin >> T;
while(T--) {
int n,sum=0;
cin >> n;
for(int i=0; i<n; i++) {
int a;
cin >> a;
sum+=a;
}
cout << sum/n << endl;
}
return 0;
}