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);
        }
    
    }
  • 相关阅读:
    php算法之选择排序
    php算法之插入排序
    五分钟读懂UML类图
    ZC_知识点
    JNI_C#
    JNI_Z
    20160419__第1课_第6课
    Hibernate异常_01
    ZC_注意点
    ZC_知识点
  • 原文地址:https://www.cnblogs.com/zq1003/p/14866827.html
Copyright © 2011-2022 走看看