zoukankan      html  css  js  c++  java
  • 【HDOJ】1261 字串数【组合数学--排列+代数】

    传送门:字串数

    题意:

    sum(A1,A2,...,An)的阶乘/(A1!)/(A2!)/.../(An!)
    因为数字可能很大,所以要用到大数类,Java的大数用起来比较爽,就用Java写了。

    好不容易过了,不过这个推导自己没有独立想出来(还是太菜了),参考网上代码才知道的。

    My AC Code

    import java.math.BigInteger;
    import java.util.Scanner;
    
    /**
     * Created by ssw on 2018/5/7.
     */
    public class Main {
        public static void main(String[] args){
            Scanner scanner=new Scanner(System.in);
            int n=scanner.nextInt();
            int[] A=new int[n];
            while(n>0)
            {
                int sum=0;
                for(int i=0;i<n;i++)
                {
                    A[i]=scanner.nextInt();
                    sum+=A[i];
                }
                BigInteger bi=new BigInteger("1");
                for(int i=1;i<=sum;i++)
                    bi=bi.multiply(new BigInteger(String.valueOf(i)));
                //System.out.println(bi.toString());
                for(int i=0;i<n;i++)
                {
                    for(int j=1;j<=A[i];j++)
                    {
                        bi=bi.divide(new BigInteger(String.valueOf(j)));
                    }
                }
                System.out.println(bi.toString());
                n=scanner.nextInt();
                A=new int[n];
            }
    
    
        }
    }
    
    
  • 相关阅读:
    微服务
    flume
    mongodb
    Java 代理学习笔记
    HttpClient连接池
    一起写RPC
    spring boot cloud
    .NET MVC 表主外键关系 JSON 无限循环 方案二(推荐)
    EF提示“序列化类型为XXX的对象时检测到循环引用”
    Handlebars.js registerHelper
  • 原文地址:https://www.cnblogs.com/shengwang/p/9767713.html
Copyright © 2011-2022 走看看