4*6棋盘,棋子从左下角走到右上角(只能向北或者向东走)有多少种

2018-04-14  本文已影响0人  吴业鹏

题目:4*6棋盘,棋子从左下角走到右上角(只能向北或者向东走)有多少种走法

把棋盘看做二维坐标,
设f(m,n)代表从坐标(0,0)到坐标(m,n)的移动方法,则
f(m,n)=f(m-1,n)+f(m,n-1)
初始为f(0,0)=0,f(0,1)=1,f(1,0)=1
由此进行递归运算,递归算法主要是要弄清楚退出条件和返回值,这个已经很清楚了,退出条件就是m,n至少有个为0,否则就要继续递归运算。

 class PayChess {    
       
 int process(int m, int n) {    
        if (m == 0 && n == 0)    
            return 0;    
                if (m==0 || n==0)    
            return 1;    
        return process(m, n - 1) + process(m - 1, n);    
    };
            
 void main() {    
        int x = process(4,6);    
        cout<<x<<endl;    
    }    
  
}  
上一篇下一篇

猜你喜欢

热点阅读