你的位置:首页 > Java教程

[Java教程]欧拉计划15

欧拉计划 第十五题 - CSDN博客

欧拉计划 第十五题 2018年07月08日 10:46:48 韩韩韩韩韩美丽 阅读数:40 标签: c语言 欧拉计划 个人分类: 欧拉计划 Starting in the top left corner ...

欧拉计划15 - 阿拉贡二世 - 博客园

欧拉计划15 网格路径 从一个2×2方阵的左上角出发,只允许向右或向下移动,则恰好有6条通往右下角的路径。对于20×20方阵来说,这样的路径有多少条? 思路...

欧拉计划 15 - 阿里云

以上是欧拉计划 15的内容,更多 欧拉 计划 15 的内容,请您使用右上方搜索功能获取相关信息。 上一篇 1 2 3 4 下一篇 本文内容由互联网用户自发贡献自行...

Python3 欧拉计划 问题11-15 - 简书

Python3 欧拉计划 问题11-15AiFan 2017.11.19 11:46* 字数1048 EulerProject.png 问题6-10参见:.jianshu./p/6a8236cf7751 11、数字方阵...

欧拉计划11-15题 - wuyudong - 博客园

08 02 22 97 38 15 00 40 00 75 04 05 07 78 52 12 50 77 91 08...« 上一篇:欧拉计划6-10题» 下一篇:C语言预处理命令之条件编译posted...

欧拉计划部分解题报告(11-15) - 温文尔雅 - CSDN博客

欧拉计划部分解题报告(11-15)2018年07月17日 11:33:39 zuhiul 阅读数:36 个人分类: 数学欧拉计划 版权声明:小弟辛苦原创,转载请注明出处。 https://bl...

欧拉计划problem 15 - 戎码一生的博客 - CSDN博客

欧拉计划 Problem11 02-01 51 题目: 方阵中的最大乘积 在如下的20×20方阵中,有四个呈对角线排列的数被标红了。 08 02 22 97 38 15 00 40 00 75...

欧拉计划 - 随笔分类 - 阿拉贡二世 - 博客园

随笔分类 - 欧拉计划欧拉计划15摘要: 网格路径 从一个2×2方阵的左上角出发,只允许向右或向下移动,则恰好有6条通往右下角的路径。对于20×20方阵来说,这样的...

欧拉计划译文及答案(11-20) - CSDN博客

翻译amp;解答:Meili (11)方阵中的最大积 08 02 22 97 38 15 00 40 00 75 04 05 07 78 52 12 50 77 91 08 49 49 99 40 17 81 18 57 60 87 17...

欧拉计划第15题;图示法和组合法分别解决。第十六题:2的..._CSDN博客

欧拉计划第15题;图示法和组合法分别解决。第十六题:2的1000次方2012年12月09日 15:10:44 gaorongchao1990626 阅读数:1593 版权声明:本文为博主原创文...

欧拉计划 - 标签 - 阿拉贡二世 - 博客园

随笔- 0 文章- 0 评论- 0 当前标签: 欧拉计划欧拉计划15 阿拉贡二世 2018-10-28 16:45 阅读:1 评论:0 公告Copyright ©2018 阿拉贡二世 ...

11 后续学习建议(YAN-PC--yan--2017-11-29-23,15,37)_图文_百度文库

nbsp;评分:4.5/5nbsp;23页

11 后续学习建议(YAN-PC--yan--2017-11-29-23,15,37)_学习计划_计划/...欧拉计划 https://projecteuler./archives ? 读/写博客 ? https://...

欧拉计划 27 - chenwr_727的博客 - CSDN博客

欧拉曾发表过一个著名的二次公式:n² + n + 41这个公式对于0到39的连续...欧拉计划部分解题报告(11-15) 07-17 49 015 Lattice paths (开启传送门)...

老树开新花,欧拉重新定义造车新势力

在他的计划中,今年,欧拉计划在全国成立180多家4S店和店中店,覆盖全国72个新能源重点市场,2019年,计划实现不低于300家的专营店,布局覆盖全国。 不过...

判断3和5的倍数下载10-15

javaEclipse判断控制台 2014-10-15 上传大小:2KB 所需: 3积分/C币 立即下载...欧拉计划1-20题中文 立即下载 3积分/C币 时间: 2012-03-27 一个游戏简...

绵阳新闻信息网 – 这里有绵阳的趣闻笑话和生活美妆化妆等等丰富...

据悉,欧拉计划在今年年底建成100+专营店、80+店中店以及200+分销店。 ...iOS又现漏洞:15行代码就让iPhone崩甲硝唑氯己定洗剂溃重启Sabri发的推文...

欧拉计划:第12,13,14题 - GRC - CSDN博客

欧拉计划-12-三角数的因子 08-15 1266 题意: 「三角数」即用递增的自然数相加得到的数,因此第7个三角数为1 + 2 + 3 + 4 + 5 + 6 + 7 = 28...

欧拉计划部分解题报告(11-15) - 温文尔雅 - CSDN博客

015 Lattice paths (开启传送门)。 题意:问你从左上到右下只能向右或者向下的路径条数。 分析:显然是个组合数问题,也就是让你求C2040C4020C_{40}^{20}...

欧拉计划-12-三角数的因子 - 青竹梦 - CSDN博客

欧拉计划-12-三角数的因子2013年08月15日 21:36:21 青竹梦 阅读数:1266 题意: 「三角数」即用递增的自然数相加得到的数,因此第7个三角数为1 + 2 + 3 ...深圳较场尾游跟团深圳较场尾游跟团深圳较场尾游跟团深圳较场尾游跟团多少钱深圳较场尾游跟团多少钱深圳较场尾游跟团多少钱北京出发去塞浦路斯旅游 北京出发去塞浦路斯旅游 北京出发去塞浦路斯旅游 北京出发去塞浦路斯旅游 北京出发去塞浦路斯旅游 北京出发去塞浦路斯旅游 北京出发去塞舌尔旅游 北京出发去塞舌尔旅游 北京出发去塞舌尔旅游 北京出发去塞舌尔旅游 北京出发去塞舌尔旅游 北京出发去塞舌尔旅游 北京出发去三都岛旅游 北京出发去三都岛旅游 北京出发去三都岛旅游 北京出发去三都岛旅游 北京出发去三都岛旅游 北京出发去三都岛旅游 北京出发去沙特阿拉伯旅游 北京出发去沙特阿拉伯旅游 北京出发去沙特阿拉伯旅游 北京出发去沙特阿拉伯旅游 北京出发去沙特阿拉伯旅游 北京出发去沙特阿拉伯旅游

网格路径

从一个2×2方阵的左上角出发,只允许向右或向下移动,则恰好有6条通往右下角的路径。对于20×20方阵来说,这样的路径有多少条?

 

 

思路:
  在2*2宫格中,无论哪种走法,一共都要走四步,向右走两步,向下走两步;
  在20*20宫格中,无论哪种走法,一共都要走40步,向右走20步,向下走20步;
  所以就变成了排列问题C42 = 4!/(2! * 2!);
  Cmn = m!/(n! * (m - n)!);

 

具体代码:

 

知识点总结:

  BigDecimal:

 

    定义:
      BigDecimal a=new BigDecimal(String; val)
      BigDecimal a=new BigDecimal(double val);
    转换:
      1)定义中就可以将String型和double 型的转换为BigDecimal型
      2)Int,float, double, long转换为BigDecimal
        a.floatValue();
        a.doubleValue();
        a.longValue();
        a.intValue();
      3) BigDecimal a转换为String(其它的类型转换为String都通用以下方法)
        toString();
        String.valueOf(a);
        比较(比较的数BigDecimal a)
        1)Int num=a.compareTo(BigDecimal anotherBigDecimal);
        当此BigDecimal在数字上小于、等于或大于 val 时,返回 -1、0 或 1。
        BigDecimal取其中最大、最小值、绝对值、相反数:
        a.max (b) //比较取最大值
        a.min(b) //比较取最小值
        a.abs()//取最绝对值
        a.negate()//取相反数
      计算:
        加: a.add(b);
        减: a.subtract(b);
        乘: a.multiply(b);
        除: a.divide(b,2);//2为精度取值
        int 、long、double、 float的取绝对值和同类型间比较大小都可用以下Math方法:
        Math.max(a,b);//比较取最大值
        Math.min(a,b);//比较取最小值
        Math.abs(a); //取最绝对值
     
   

BigDecimal 原文:https://blog.csdn.net/liucheng417/article/details/50825047

 

 RoundingMode 介绍

package java.math;public enum RoundingMode {    UP(BigDecimal.ROUND_UP),    DOWN(BigDecimal.ROUND_DOWN),    CEILING(BigDecimal.ROUND_CEILING),    FLOOR(BigDecimal.ROUND_FLOOR),    HALF_UP(BigDecimal.ROUND_HALF_UP),    HALF_DOWN(BigDecimal.ROUND_HALF_DOWN),    HALF_EVEN(BigDecimal.ROUND_HALF_EVEN),    UNNECESSARY(BigDecimal.ROUND_UNNECESSARY);    final int oldMode;    private RoundingMode(int oldMode) {        this.oldMode = oldMode;    }    public static RoundingMode valueOf(int rm) {        switch(rm) {        case BigDecimal.ROUND_UP:            return UP;        case BigDecimal.ROUND_DOWN:            return DOWN;        case BigDecimal.ROUND_CEILING:            return CEILING;        case BigDecimal.ROUND_FLOOR:            return FLOOR;        case BigDecimal.ROUND_HALF_UP:            return HALF_UP;        case BigDecimal.ROUND_HALF_DOWN:            return HALF_DOWN;        case BigDecimal.ROUND_HALF_EVEN:            return HALF_EVEN;        case BigDecimal.ROUND_UNNECESSARY:            return UNNECESSARY;        default:            throw new IllegalArgumentException("argument out of range");        }    }}

 

 


















































RoundingMode是一个枚举类,有以下几个值:UP,DOWN,CEILING,FLOOR,HALF_UP,HALF_DOWN,HALF_EVEN,UNNECESSARY

2 舍入模式

2.1  UP

public final static int ROUND_UP = 0;

 

 

 

定义:远离零方向舍入。

解释:始终对非零舍弃部分前面的数字加 1。注意,此舍入模式始终不会减少计算值的绝对值。

图示:

示例:

输入数字使用 UP 舍入模式将输入数字舍入为一位数
5.56
2.53
1.62
1.12
1.01
-1.0-1
-1.1-2
-1.6-2
-2.5-3
-5.5-6

 

 

 

 

 

 

 

 

 

 

2.2  DOWN

  

public final static int ROUND_DOWN = 1;
 

 

定义:向零方向舍入。

解释:从不对舍弃部分前面的数字加 1(即截尾)。注意,此舍入模式始终不会增加计算值的绝对值。

图示:

示例:

 

输入数字使用 DOWN 舍入模式将输入数字舍入为一位数
5.55
2.52
1.61
1.11
1.01
-1.0-1
-1.1-1
-1.6-1
-2.5-2
-5.5-5

 

 

 

 

 

 

 

 

 

2.3 CEILING

public final static int ROUND_CEILING = 2;

 

定义:向正无限大方向舍入。

解释:如果结果为正,则舍入行为类似于 RoundingMode.UP;如果结果为负,则舍入行为类似于RoundingMode.DOWN。注意,此舍入模式始终不会减少计算值。

图示:

示例:

输入数字使用 DOWN 舍入模式将输入数字舍入为一位数
5.56
2.53
1.62
1.12
1.01
-1.0-1
-1.1-1
-1.6-1
-2.5-2
-5.5-5

 

 

 

 

 

 

 

 

 

 

2.4 FLOOR

public final static int ROUND_FLOOR = 3;

 

 

定义:向负无限大方向舍入。

解释:如果结果为正,则舍入行为类似于 RoundingMode.DOWN;如果结果为负,则舍入行为类似于RoundingMode.UP。注意,此舍入模式始终不会增加计算值。

图示:

示例:

输入数字使用 DOWN 舍入模式将输入数字舍入为一位数
5.55
2.52
1.61
1.11
1.01
-1.0-1
-1.1-2
-1.6-2
-2.5-3
-5.5-6

 

 

 

 

 

 

 

 

 

 

2.5 HALF_UP (Half指的中点值,例如0.5、0.05,0.15等等)

public final static int ROUND_HALF_UP = 4;

 

 

定义:向最接近的数字方向舍入,如果与两个相邻数字的距离相等,则向上舍入。

解释:如果被舍弃部分 >= 0.5,则舍入行为同 RoundingMode.UP;否则舍入行为同RoundingMode.DOWN。注意,此舍入模式就是通常学校里讲的四舍五入。

图示:

 

示例:

输入数字使用 DOWN 舍入模式将输入数字舍入为一位数
5.56
2.53
1.62
1.11
1.01
-1.0-1
-1.1-1
-1.6-2
-2.5-3
-5.5-6

 

 

 

 

 

 

 

 

 

2.6 HALF_DOWN

public final static int ROUND_HALF_DOWN = 5;

 

定义:向最接近的数字方向舍入,如果与两个相邻数字的距离相等,则向下舍入。

解释:如果被舍弃部分 > 0.5,则舍入行为同 RoundingMode.UP;否则舍入行为同RoundingMode.DOWN。注意,此舍入模式就是通常讲的五舍六入。

图示:

示例:

输入数字使用 DOWN 舍入模式将输入数字舍入为一位数
5.55
2.52
1.62
1.11
1.01
-1.0-1
-1.1-1
-1.6-2
-2.5-2
-5.5-5

 

 

 

 

 

 

 

 

 

2.7 HALF_EVEN

public final static int ROUND_HALF_EVEN = 6;

 

 

定义:向最接近数字方向舍入,如果与两个相邻数字的距离相等,则向相邻的偶数舍入。

解释:如果舍弃部分左边的数字为奇数,则舍入行为同 RoundingMode.HALF_UP;如果为偶数,则舍入行为同RoundingMode.HALF_DOWN。

注意,在重复进行一系列计算时,根据统计学,此舍入模式可以在统计上将累加错误减到最小。此舍入模式也称为“银行家舍入法”,主要在美国使用。此舍入模式类似于 Java 中对float 和double 算法使用的舍入策略。

图示:

示例:

输入数字使用 DOWN 舍入模式将输入数字舍入为一位数
5.56
2.52
1.62
1.11
1.01
-1.0-1
-1.1-1
-1.6-2
-2.5-2
-5.5-6

 

 

 

 

 

 

 

 

 

2.8 UNNECESSARY

public final static int ROUND_UNNECESSARY =  7;

 

 

定义:用于断言请求的操作具有精确结果,因此不发生舍入。

解释:计算结果是精确的,不需要舍入,否则抛出 ArithmeticException。

示例:

输入数字使用 DOWN 舍入模式将输入数字舍入为一位数
5.5抛出 ArithmeticException
2.5抛出 ArithmeticException
1.6抛出 ArithmeticException
1.1抛出 ArithmeticException
1.01
-1.0-1
-1.1抛出 ArithmeticException
-1.6抛出 ArithmeticException
-2.5抛出 ArithmeticException
-5.5抛出 ArithmeticException