• 台阶问题,100层台阶,1,2,3步组合走完。一种有几种组合?


     输出:

    这里输出每种组合方式和每种组合排列组合的组合数。用到了阶乘。

    输出太长,只截图末尾。

    public class test {
        private static int a=1;
        private static int b=2;
        private static int c=3;
        private static long  sum=0;
        private static int number;
        private static BigDecimal bigDecimalSum;
        private static BigDecimal bigDecimal1;
        private static BigDecimal bigDecimal2;
        private static BigDecimal bigDecimal3;
        private static BigDecimal bigDecimalSumAdd=new BigDecimal(0);
    
        public static BigDecimal getBigDecimal(int d){
            BigDecimal b1=new BigDecimal(1);
            BigDecimal b2;
            for(int i=1;i<=d;i++){
                b2=new BigDecimal(i);
                b1=b1.multiply(b2);
            }
            return b1;
        }
        public static void main(String args[]){
            for(int i=0;i<=100;i++){
                for(int j=0;j<=50;j++){
                    for(int k=0;k<=33;k++){
                        if((i*a+j*b+k*c)==100){
                            number=i+j+k;
                            bigDecimalSum=getBigDecimal(number);
    
                            if(i>0)bigDecimal1=getBigDecimal(i);
                            else bigDecimal1=new BigDecimal(1);
    
                            if(j>0)bigDecimal2=getBigDecimal(j);
                            else bigDecimal2=new BigDecimal(1);
    
                            if(k>0)bigDecimal3=getBigDecimal(k);
                            else bigDecimal3=new BigDecimal(1);
    
                            bigDecimalSum=bigDecimalSum.divide(bigDecimal1).divide(bigDecimal2).divide(bigDecimal3);
                            bigDecimalSumAdd=bigDecimalSumAdd.add(bigDecimalSum);
                            sum++;
                            System.out.println("一阶:"+i+"	2阶:"+j+"	3阶:"+k+"		有"+bigDecimalSum);
                            break;
                        }else if((i*a+j*b+k*c)>100){
                            break;
                        }
                    }
                }
            }
            System.out.println(sum);
            System.out.println(bigDecimalSumAdd);
        }
    
    }
  • 相关阅读:
    3月4号—3月20号的计划
    Codeforces Round #344 (Div. 2) D. Messenger kmp水题
    Codeforces Round #344 (Div. 2) C. Report 水题
    整数三分(模板)
    Codeforces Round #344 (Div. 2) E. Product Sum 三分
    hdu3276 Graph and Queries 离线+treap
    bzoj1588: [HNOI2002]营业额统计 treap
    hdu5002 tree LCT
    bzoj2594 [Wc2006]水管局长数据加强版 离线+LCT维护边权
    bzoj2002 弹飞绵羊 LCT
  • 原文地址:https://www.cnblogs.com/zq1003/p/14866827.html
Copyright © 2020-2023  润新知