概率计算(蓝桥杯 java)
总次数:double zon=Math.pow(b-a+1,n);
递归遍历所有的n位区间内的和
代码
import java.util.Scanner;
public class 概率计算 {
static int ci=0;
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
int n=scanner.nextInt();
int a=scanner.nextInt();
int b=scanner.nextInt();
int x=scanner.nextInt();
dgxh(n,a,b,x,0);//统计出现和为x的次数
double zon=Math.pow(b-a+1,n);//计算总次数
double aa=ci/zon;//计算概率
System.out.println(String.format("%.4f",aa) );
}//
private static void dgxh(int n, int a, int b, int x,int js) {//递归
// TODO Auto-generated method stub
if (n>0) {
for (int j = a; j <=b; j++) {
dgxh(n-1,a,b,x,js+j);
if (n==1) {
if (js+j==x) {//和判断是否等于x
ci++;
}
}
}
}
}
}