第一题:
小明同学最近学习了概率论,他了解到数学期望的定义:设X为一个随机变量,X可以取n种不同的取值x1,x2,x3,…,xn。取x1的概率为p1,取x2的概率为p2,以此类推。定义随机变量X的数学期望为:E[X]=x1*p1+x2*p2+…+xn*pn。小明回到家中,他想编程计算数学期望,你能帮助他么?
输入第一行一个数n(1<=n<=100),接下来有n行,第i行有两个数xi和pi,xi和pi都是整数,-100<=xi<=100, 0<=pi<=100。表示随机变量X取值为xi的概率是pi/100。输入保证p1+p2+p3+…+pn=100。
输出一个数,随机变量X的数学期望E[x],小数点后四舍五入保留3位。
这题比较简单,注意的是需要保留三位小数
程序如下:
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int[] arr1 = new int[n];
int[] arr2 = new int[n];
for(int i=0;i<n;i++) {
arr1[i] = sc.nextInt();
arr2[i] = sc.nextInt();
}
int res = 0;
for(int i=0;i<n;i++) {
res += arr1[i]*arr2[i];
}
Double d = (double)res/100;
DecimalFormat df = new DecimalFormat("#0.000");
System.out.println(df.format(d));
}
}
第二题
一个字符串S是偶串当且仅当S中的每一个字符都出现了偶数次。如字符串”aabccb”是一个偶串,因为字符a,b,c都出现了两次。而字符串”abbcc”不是偶串,因为字符a出现了一次。现在给出一个长度为n的字符串T=t1,t2,t3,…,tn。字符串的子串为其中任意连续一段。T长度为1的子串有n个,长度为2的子串有n-1个,以此类推,T一共有n