首页
论坛
图书
开发资料
在线文档
网址
下载
联系我们
 新闻│Java│JavaScript│Eclipse│Eclipse 英文│J2EE│J2ME│J2SE│JSP│Netbeans│Hibernate│JBuilder│Spring│Struts
站内搜索: 请输入搜索关键词

当前页面: 开发资料首页 → Java 专题 → 怎样上楼梯

怎样上楼梯

摘要: 怎样上楼梯

</td> </tr> <tr> <td height="35" valign="top" class="ArticleTeitle"> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td width="205" height="86" align="center" valign="top"> </td> <td width="479" valign="top">

牛顿家住楼上,一共有18级台阶,有一天他想如果他可以一次上1或2个台阶,问这18个台阶一共有多少种上法?

解答程序如下:

import java.io.*;

class upstair{

    public static void main(String argc[]){

         int n=Integer.parseInt(argc[0]);

         int a[]=new int[n+1];

         int count=0;        

         int i,k;

         a[0]=-2;

         for(i=1;i< n+1;i++)

             a[i]=1;

         k=n;

         while(a[k]!=-1){

             if(sum(a)< n)  k++;

             if(sum(a)==n){

               for(i=1;i<=k;i++)

                   System.out.print(a[i]+" ");

                 System.out.println();

                 count++;

               a[k]=0;

               while(a[--k]==2)

                    a[k]=0;

             } 

             a[k]++;           

        }

        System.out.println(n+"级楼梯的走法:"+count);

     }   

    static int sum(int a[]){

        int sum=0;

        for(int i=1;i< a.length;i++)

            sum+=a[i];

       return sum;

    }

}

程序运行结果:(这是五级楼梯的走法)


C:\java>java upstair 5
1 1 1 1 1
1 1 1 2
1 1 2 1
1 2 1 1
1 2 2
2 1 1 1
2 1 2
2 2 1
5级楼梯的走法:8

C:\java>


</td></tr> <tr> <td height="20" colspan="2">


</td> </tr> </table>

 


</td> </tr> <tr>


↑返回目录
前一篇: 快速排序方法Java实现与分析
后一篇: Sun认证Java程序员5.0升级版本

首页 | 全站 Sitemap | 联系我们 | 设为首页 | 收藏本站
版权所有 Copyright © 2006-2007, Java 编程资料牛鼻站, All rights reserved