迭代和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 把代码推送到码云

代码

public class Combination {
public static void main(String[] args) {
int [] s = new int [2];
int sum,i;
for(i=0;i<args.length;++i) {
s[i] = Integer.parseInt(args[i]);
}
sum = diedai(s[0],s[1]);
if(sum == 0)
System.out.println("wrong");
else
System.out.println(sum);
}
public static int diedai (int n,int m) {
if(m==1)
return n;
else if(m==0||m==n)
return 1;
else if(n<m||n==0)
return 0;
else
return diedai(n-1,m-1)+diedai(n-1,m);
}
}

代码托管

测试截图

  • 运行正常

    迭代和JDB(课下作业,选做)

  • 运行异常

    迭代和JDB(课下作业,选做)

  • 边界情况

    迭代和JDB(课下作业,选做)

JDB调试截图

  • 设置断点至代码第八行,观察命令行字符串转化情况

    迭代和JDB(课下作业,选做)

  • 运用list语句观察目前运行到的位置,注意use ./src 进入.java文件所在文件夹

    迭代和JDB(课下作业,选做)

  • step up语句运用

    迭代和JDB(课下作业,选做)

  • 设置断点至最后C(9,2)结果为36

    迭代和JDB(课下作业,选做)

问题

  • 使用命令行输入变量
    • 命令行输入的参数为字符串,所以我们可以通过Integer.parseInt来进行转化

      参考博客
上一篇:深度学习框架如何自动选择最快的算法?Fast Run 让你收获最好的性能!


下一篇:20190422 T-SQL 触发器