姁姁迷弟

博客园 首页 新随笔 联系 订阅 管理

要求

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.代码测试

  • 正常情况
  • 异常情况
  • 边缘情况

3.JDB调试

  • 正常情况
  • 调试第一步
  • 利用杨辉三角j=5时情况如下


posted on 2019-03-31 19:51  姁姁迷弟  阅读(112)  评论(0编辑  收藏  举报