华中科技大学 N阶楼梯上楼问题(java)

题目描述
N阶楼梯上楼问题:一次可以走两阶或一阶,问有多少种上楼方式。(要求采用非递归)
输入描述:
输入包括一个整数N,(1<=N<90)。
输出描述:
可能有多组测试数据,对于每组数据,
输出当楼梯阶数是N时的上楼方式个数。
示例1
输入
复制
4
输出
复制
5

这里没有用大数处理,但最好还是用大数处理,因为到46会超出int类型范围

import java.util.*;
import java.io.*;
import java.text.* ;
public class Main
{
    public static void main(String[] args){   	
    	try {
    		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    		String str;
    		while((str=br.readLine()) != null) {
    			int n = Integer.parseInt(str);
    			if(n == 1) System.out.println("1");
    			else if(n == 2) System.out.println("2");
    			int a1 = 1;
    			int a2 = 2;
    			for(int i = 3; i <= n; i++) {
    				int tmp = a2;
    				a2 = a2+a1;
    				a1 = tmp;
    			}
    			if(n > 2) System.out.println(a2);
    		}
    	} catch(IOException e){
    		e.printStackTrace();
    	}
    }
}



发布了231 篇原创文章 · 获赞 22 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_43306331/article/details/104223443
今日推荐