| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 622 人关注过本帖
标题:请帮我看下这个走楼梯的程序
取消只看楼主 加入收藏
gdy
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2010-4-5
结帖率:50%
收藏
已结贴  问题点数:10 回复次数:3 
请帮我看下这个走楼梯的程序
import java.util.*;
public class Go {
 public static int i = 0;
 public static void main(String[] args)
 {
     Scanner reader=new Scanner(System.in);
     System.out.print("请输入楼梯的数:");
     int n=0;
     n=reader.nextInt();     
  calc("", n);
  System.out.println("总共有"+i+"种走法~");
 }
 
 //上楼梯每次只需一步或者两步,有多少走法
 public static void calc(String log, int num){
  if (num == 0)
  {
   i++;
   System.out.println(log.substring(0,log.length()-1));
   return;
  }
  else if(num == 1)
  {
   i++;
   System.out.println(log+"1");
   return;
  }
  calc(log+"1,", num - 1);
  calc(log+"2,", num - 2);
 }
}
我想知道这个程序的算法过程,怎么输出的。
搜索更多相关主题的帖子: 楼梯 
2010-10-11 23:16
gdy
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2010-4-5
收藏
得分:0 
请求指教。public static void calc(String log, int num){
  if (num == 0)
  {
   i++;
   System.out.println(log.substring(0,log.length()-1));
   return;
  }
  else if(num == 1)
  {
   i++;
   System.out.println(log+"1");
   return;
  }
  calc(log+"1,", num - 1);
  calc(log+"2,", num - 2);
}
}
这里是怎么算的。看不懂这个算法
2010-10-11 23:18
gdy
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2010-4-5
收藏
得分:0 
图片附件: 游客没有浏览图片的权限,请 登录注册
想知道  3到2 后面怎么又从2到3呢?怎么自加的呢?
2010-10-12 15:06
gdy
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2010-4-5
收藏
得分:0 
谢谢!
2010-10-14 20:07
快速回复:请帮我看下这个走楼梯的程序
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.013761 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved