time 
设为首页】【收藏本站
当前位置: 主页 > 程序设计 > C\C++\VC > C语言 > 阶梯问题的递归解法

阶梯问题的递归解法

时间:2009-09-20 23:31 点击:424次 字体:[ ]




 #include <stdio.h>

#define N 10

int steped[N];
int i=0;

void steping(int n){                                  \\\\走楼梯
       if(n==0){                                        \\\\已走完
            for(int j=0;j<i;j++){
                  printf(\" %d \",steped[j]);        \\\\打印
            }
      printf(\"\\n\");
      }
      if(n>=1){                                       \\\\若剩下的阶梯数大等于1
            steped[i++]=1;                         \\\\迈1个阶梯
            steping(n-1);                             \\\\走剩下的阶梯
            i--;                                           \\\\退一个阶梯,寻找其它上法
      }
      if(n>=2){                                       \\\\若剩下的阶梯数大等于2
            steped[i++]=2;待                      \\\\迈两个阶梯
            steping(n-2);                            \\\\走剩下的阶梯
            i--;                                          \\\\退两个阶梯,寻找其它上法
     }
     if(n>=3){                                      \\\\同上.....略
           steped[i++]=3;
           steping(n-3);
           i--;
     }
}

void main(){
      int n;
      n=N;
      steping(n);
}



本文地址 : http://www.fengfly.com/plus/view-77298-1.html
标签: 实例编程 阶梯问题
------分隔线----------------------------
最新评论 查看所有评论
发表评论 查看所有评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
验证码:
本栏分类