其他分享
首页 > 其他分享> > #c语言 不同路径问题#

#c语言 不同路径问题#

作者:互联网

问题:

一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish” )。

问总共有多少条不同的路径?

#include <stdio.h>
#include <stdlib.h>

//定义一个求组合的函数!

    int combination(int m, int n) {
        if(m > n)
            return combination(n, m);
        int i,j;
        long long result = 1;
        for (i = n,j = 1; j <= m - 1; i++, j++) {
               result=result*i/j;
        }
        return result;
    }
    
int main()
{
    int n,m;
    long long sum;
    printf("请输入网格规格m X n: ");
    //m n 输入用空格隔开!
    scanf("%d %d",&m, &n);
    sum=combination(m,n) ;
    printf("总共有%lld条路径!",sum);
    return 0;
}

有两个小问题,不知道为什么会有个报错,以及有时候输出负值

标签:机器人,语言,combination,int,不同,路径,网格,long,include
来源: https://blog.csdn.net/weixin_66397563/article/details/122640908