zoukankan      html  css  js  c++  java
  • 台阶问题,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);
        }
    
    }
  • 相关阅读:
    [From 11.1~11.4]事件
    [From 10.1~10.5] 对象和集合初始化器(C#语法糖系列)
    [From 9.3]out和ref关键字
    [From 8.5]转换操作符方法
    将博客搬至CSDN
    QPS 与 TPS 简介
    在cenos中,通过subversion源码进行安装
    no acceptable C compiler found in $PATH
    tgz解压
    程序中的@Override是什么意思?
  • 原文地址:https://www.cnblogs.com/zq1003/p/14866827.html
Copyright © 2011-2022 走看看