JDB与迭代

时间:2021-10-03 11:27:07

要求

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

1.代码

import java.util.*;
public class zuHe {
public static void main(String[] args) {
Scanner scanner1 = new Scanner(System.in);
Scanner scanner2 = new Scanner(System.in);
System.out.println("请输入m:"); 
int m = scanner1.nextInt();
System.out.println("请输入n:");  
int n = scanner2.nextInt();
if(m<n){ 
System.out.println("Error"); 
}       
else{       
Yanghui yanghui1  = new Yanghui(m,n); 
           System.out.printf("C(%d,%d)=%d\n",m,n,yanghui1.yanghuisanjiao(m,n));
}  
}
}
class Yanghui { 
int m;   
int n; 
Yanghui(int m,int n){
this.m = m;
this.n = n; 
}  
int yanghuisanjiao(int m,int n){
int C[][] = new int[m+1][m+1];   
for(int i=0;i<m;i++){ 
C[i][0] = 1;     
//printf("%d,%d\n",A[i][0],A[i][1]);          
for(int j=1;j<=m;j++){         
C[i + 1][j] = C[i][j] + C[i][j - 1];
}   
}  
return C[m][n]; 
}
}

2.代码测试

  • 正常情况

    JDB与迭代
  • 异常情况

    JDB与迭代
  • 边缘情况

    JDB与迭代

3.JDB调试

  • 正常情况

    JDB与迭代
  • 调试第一步

    JDB与迭代
  • 利用杨辉三角j=5时情况如下

    JDB与迭代

    JDB与迭代

    JDB与迭代