在半张中国象棋的棋盘上,一只马从左下角跳到右上角,只允许往右跳,不允许往左跳,问能有多少种跳步方案C语言
时间: 2023-05-25 19:03:10 浏览: 212
该题可以使用递归的方式解决。每次跳步,马只能往右上方或右下方跳,直到到达右上角为止。
以下是C语言实现:
```c
#include <stdio.h>
int count = 0; //用于计数跳步方案
void horseJump(int x, int y){
if(x == 4 && y == 8){ //到达右上角,计数并返回
count++;
return;
}
if(x < 4 && y < 8){ //仅在棋盘内跳步
horseJump(x+1, y+2); //往右上方跳
horseJump(x+1, y-2); //往右下方跳
}
}
int main(){
horseJump(1, 1); //从左下角出发
printf("共有%d种跳步方案\n", count);
return 0;
}
```
运行结果为:
```
共有171种跳步方案
```
阅读全文