专栏首页AI那点小事算法提高 概率计算

算法提高 概率计算

问题描述   生成n个∈[a,b]的随机整数,输出它们的和为x的概率。 输入格式   一行输入四个整数依次为n,a,b,x,用空格分隔。 输出格式   输出一行包含一个小数位和为x的概率,小数点后保留四位小数 样例输入 2 1 3 4 样例输出 0.3333 数据规模和约定   对于50%的数据,n≤5.   对于100%的数据,n≤100,b≤100.

import java.io.BufferedInputStream;
import java.math.BigDecimal;
import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner in = new Scanner(new BufferedInputStream(System.in));
        int num = in.nextInt();
        int start = in.nextInt();
        int end = in.nextInt();
        int sum = in.nextInt();
        double[][] dp = new double[num+1][sum+1];
        dp[0][0]= 1;

        for ( int i = 1 ; i <= num ; i++){
            for ( int j = 0; j <= sum ; j++){
                for ( int k = 0 ; k <= sum ; k++){
                    if ( j-k >= start && j-k <= end){
                        dp[i][j] += dp[i-1][k]/(1.0*(end-start+1));
                    }
                }
            }
        }
        System.out.println(new BigDecimal(dp[num][sum]).divide(BigDecimal.ONE, 4,BigDecimal.ROUND_HALF_UP));
        in.close();
    }

}

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 算法训练 最大的算式

    问题描述   题目很简单,给出N个数字,不改变它们的相对位置,在中间加入K个乘号和N-K-1个加号,(括号随便加)使最终结果尽量大。因为乘号和加号一共就是N...

    AI那点小事
  • CCF考试——201409-2画图

      在一个定义了直角坐标系的纸上,画一个(x1,y1)到(x2,y2)的矩形指将横坐标范围从x1到x2,纵坐标范围从y1到y2之间的区域涂上颜色。   下...

    AI那点小事
  • 算法提高 快乐司机

    问题描述   “嘟嘟嘟嘟嘟嘟   喇叭响   我是汽车小司机   我是小司机   我为祖国运输忙   运输忙”   这是儿歌“快乐的...

    AI那点小事
  • Linux动态链接库的使用

    动态链接库与普通的程序相比而言,没有main函数,是一系列函数的实现。通过shared和fPIC编译参数生产so动态链接库文件。程序在调用库函数时,只需要连接上...

    砸漏
  • 你真的了解LinkedBlockingQueue的put,add和offer的区别吗

    LinkedBlockingQueue的put,add和offer这三个方法功能很相似,都是往队列尾部添加一个元素。既然都是同样的功能,为啥要有有三个方法呢?

    用户7634691
  • 什么是自然语言处理?#NLP系列课01

    自然语言处理横跨:计算机科学、语言学、人工智能等学科,是计算机科学与语言学的交叉学科,又常被称为计算语言学。

    mixlab
  • Go语言的管道Channel用法实例

    本文实例讲述了Go语言的管道Channel用法。分享给大家供大家参考。具体分析如下: channel 是有类型的管道,可以用 channel 操作符 <- 对其...

    李海彬
  • 我的个人品牌运营之路

    今早打开我的微信公众号,突然看到用户数飙升了。接着再看看博客网站的记录,同样也出现了飙升。这是截止到昨天统计的数据:

    Keegan小钢
  • vue 构建 todo 项目系列 2

    vue 构建 todo 项目系列 1 只是用模拟的数据,页面一刷新就打回原型,本文将用 json-server 构建一个简易的 api,模拟真实的数据服务器

    章鱼喵
  • Flink Forward 2019--实战相关(6)--Google分享与Beam整合

    Apache Beam: Portability in the times of Real Time Streaming -- Pablo Estrada(Go...

    阿泽

扫码关注云+社区

领取腾讯云代金券