• 组合数的高精度算法


    【高精度】组合数的高精度算法

    题目描述

    由 于邪狼编写的万进制高精度除法有小小的缺陷,导致修罗王打开最后一道牢门时触发了陷阱,修罗王和邪狼因此落入一个类似于N×M的网格棋盘中,修罗王和邪狼 必须要从左下角(1,1)开始逃到右上角(M,N)的安全位置,才可以摆脱狱警的追踪,但是修罗王和邪狼每次只能向上或向右走,试问有多少种不同的走法? 已知1≤N<1040,0≤M≤1000。

    输入

    两个整数M,N。

    输出

    一个整数,即路径数。

    样例输入

    2 2
    

    样例输出

                                                                                     N—1
    思路:从(1,1)到(N,M)共需要向上走N-1次,向右走M-1次,故总共走(N+M-2)次,所以路径数为CN+M-2


     
    import java.math.BigInteger;
    import java.math.BigDecimal;
    import java.util.*;
    public class Main {
           public static void main(String[] args)
           {
              Scanner cin = new Scanner (System.in); 
              int n, m;
              BigInteger a, b;
              n = cin.nextInt();
              m = cin.nextInt();
              n--;
              m--;
              a = BigInteger.ONE;
              for(int i = n + 1; i <= n+m; i++){
                  b = BigInteger.valueOf(i);
                  a = a.multiply(b);
              }
              for(int i = 1; i <= m; i++){
                  b = BigInteger.valueOf(i);
                  a = a.divide(b);
              }
              System.out.println(a);
                           
           }
    }
    View Code
  • 相关阅读:
    vue element-ui 动态上传
    vue element ui 导航刷新 is-active
    算法图解笔记
    简单操作的一些小技巧
    大话数据结构 -07-1 图的定义、抽象数据类型与存储结构
    ELO kernels 记录
    [2] day 02
    [1] first day
    大话数据结构 -04-3 队列
    大话数据结构 -04-2 栈的应用-递归
  • 原文地址:https://www.cnblogs.com/cshg/p/5654352.html
Copyright © 2020-2023  润新知