方格的走法

来源:互联网 发布:淘宝刷手退款能报警吗 编辑:程序博客网 时间:2024/06/10 11:31

[TOC]

题目:

m×n的方格,如下图所示,从方格的左下角A走到方格的右上角B,请求出所有的路径方法总和。

这里写图片描述

解答:

1*1方格的情况

从左上角到右下角走法,总共有2种走法。即m=1,n=1
S(1,1)=2

2*2方格的情况

这里写图片描述

从左上角到右下角走法,总共有6种走法。即m=2, n=2
S(2,2)=S(2,1)+S(1,2)=3+3=6

m*n方格的情况

这里写图片描述

从左上角到右下角走法,总共有S(m,n)种走法。
S(m,n)=S(m,n-1)+S(m-1,n)

由以上得到推导公式:
S(m,n)=S(m,n-1)+S(m-1,n)

C语言函数实现的程序

int getSumSteps(int m, int n){    if(m <=0 || n<= 0){        return -1;    }    if(m == 1 && n > 0){        return n+1;    }    if(n == 1 && m > 0){        return m+1;    }    // 递归调用    return getSumSteps(m-1, n) + getSumSteps(m, n-1);}
0 0
原创粉丝点击