首页 > 数据库技术 > 详细

迭代和JDB

时间:2019-03-29 20:22:18      阅读:147      评论:0      收藏:0      [点我收藏+]

迭代和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调试:

技术分享图片
技术分享图片
技术分享图片

迭代和JDB

原文:https://www.cnblogs.com/darklord0604/p/10623446.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!