C语言实现走台阶算法

C语⾔实现台阶算法C语⾔实现⾛台阶算法,是基于基于C98实现的的,具体代码如下:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define Maxsize 200
int getStepNum(int, int);
void printSum();
int *step;
int len;
int main() {
int n = 10;
int maxStep = 2;
step = (int*)malloc(sizeof(int[n]));
printf("⽅案数:%d",getStepNum(n, maxStep));
}
void printSum() {
printf("⾛法:");
int i = 0;
maxstepwhile(i < len){
printf("%d ", step[i]);
i++;
}
printf("\n");
}
int getStepNum(int n, int m) {
int sumStep = 0;
// 总台阶数为0时,终⽌递归循环
if (n == 0) {
printSum();
return 1;
}
if (n >= m) {
// 如果n⼤于每步最⼤台阶数,则设置第⼀步为m之内的⼀个台阶数,然后递归循环int i = 1;
while(i <= m){
step[len] = i;
len++;
sumStep += getStepNum(n - i, m);
len--;
i++;
}
} else {
// 如果n⼩于m,则将⼀步最⼤台阶数缩⼩为n,重新递归
sumStep = getStepNum(n, n);
}
return sumStep;
}

本文发布于:2024-09-24 21:25:31,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/4/350521.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:台阶   实现   算法   递归   设置   循环
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议