zoukankan      html  css  js  c++  java
  • 迭代和JDB

    迭代和JDB

    一、题目要求:

    1 使用C(n,m)=C(n-1,m-1)+C(n-1,m)公式进行递归编程实现求组合数C(m,n)的功能
    2 m,n 要通过命令行传入
    3 提交测试运行截图(至少三张:正常如c(3,2)、异常如c(2, 3)、边界情况如c(m,m))
    4 提交正常情况下用JDB调试程序c(X,2)的截图,X为学号最后一位+3,至少四张截图
    5 把代码推送到码云

    二、代码实现:

    class M{
        int C(int n,int m){
            if (m==n||m==0){
                return 1;
            }
            else return C(n-1,m-1)+C(n-1,m);
        }
    }
    public class Diedai {
        public static void main(String[] args) {
            int[] a = new int[args.length];
            int n = 0;
            int m = 0;
            int result = 0;
            M b = new M();
            if (args.length == 2) {
                for (int i = 0; i < args.length; i++) {
                    a[i] = Integer.parseInt(args[i]);
                }
                n= a[0];
                m= a[1];
                if(n<m){
                    System.out.println("输入数据错误!");
                }
                else {
                    result = b.C(n,m);
                    System.out.println("结果为:"+result);
                }
            }
            else System.out.println("输入数据数量存在错误");
        }
    }
    



    三、代码思路:

    本题实现了一个对组合数求值的过程。在求值时,需要考虑数据的特殊性。关于组合数有如下规定:
    C(n,0)=1 C(n,n)=1 C(0,0)=1
    同时,n不可小于m,要手动控制当输入中n小于m的情况。
    其次,m、n要求在命令行输入,可以将命令行传入的字符串存为数组,n取数组第一个值,m取第二个值来实现。

    四、JDB调试:



  • 相关阅读:
    python 前置程序窗口,还原最小化的窗口
    GreenDao官方文档翻译(上)
    Android 使用Instrumentation进行界面的单元测试
    Android:View中的performClick()触发条件
    Java 单元测试(Junit)
    再看薄荷
    单例模式-Singleton
    Java 如何防止线程意外中止
    Java Error和Exception区别
    linux的进程1:rootfs与linuxrc
  • 原文地址:https://www.cnblogs.com/darklord0604/p/10623446.html
Copyright © 2011-2022 走看看