射击问题

射击n次,命中概率radio,
连续射中n次得分为a[i],
求设计n次的得分期望。

例:射击3次。命中率0.5,得分[8,8,8],
期望为12.

000 0
001 8
010 8
011 16
100 8
101 16
110 16
111 24

96/8=12

思路:

public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
       int n=sc.nextInt();//qiang
        double p=sc.nextInt();//gai lv
        double q=sc.nextInt();
      double[] values=new double[n]; //fenshu
        double radio=p/q;
        
  //      int n=3;
   //     double[] values=new double[]{8.0,8.0,8.0};
   
        for (int i=0;i<n;i++){
            values[i]=sc.nextInt();
        }
        double sum=0;
        for (int i=0;i<n;i++){
            int tempSum=0;
            int term=i+1;
            for (int j=0;j<Math.min(n,term);j++){
                if (j>=Math.min(n,term)-1){
                    tempSum+=Math.pow(radio,j+1)*values[j];
                }else {
                    tempSum+=Math.pow(radio,j+1)*(1-radio)*values[j];
                }

            }
            sum+=tempSum;
        }
        System.out.println(sum);

    }

你可能感兴趣的:(射击问题)