P1255_数楼梯(JAVA语言)

思路:BigInteger 四杀!

简单递推,注意long会超范围

题目描述

楼梯有N阶,上楼可以一步上一阶,也可以一步上二阶。

编一个程序,计算共有多少种不同的走法。

输入输出格式

输入格式:

 

一个数字,楼梯数。

 

输出格式:

 

走的方式几种。

 

输入输出样例

输入样例#1: 复制

4

输出样例#1: 复制

5

说明

用递归会太慢,需用递推

(60% N<=50 ,100% N<=5000)

import java.math.BigInteger;
import java.util.Scanner;

public class Main{

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner in=new Scanner(System.in);
		int n=in.nextInt();
		BigInteger a[]=new BigInteger[n+1];
		a[0]=BigInteger.ZERO;
		if(n>=1)
			a[1]=BigInteger.ONE;
		if(n>=2)
			a[2]=BigInteger.valueOf(2);
		for(int i=3;i<=n;i++){
			a[i]=a[i-2].add(a[i-1]);
		}
		System.out.println(a[n]);
	}

}

 

全部评论

相关推荐

07-01 17:14
中北大学 Java
兄弟们是真是假
牛客46374834...:我在boss上投java岗从来没成功过
点赞 评论 收藏
分享
05-29 22:11
门头沟学院 Java
Elastic90:抛开学历造假不谈,这公司的招聘需求也挺怪的,Java开发还要求你有图文识别、移动端开发和c++的经验,有点逆天了。
点赞 评论 收藏
分享
求offer的大角牛:不吃香菜
点赞 评论 收藏
分享
评论
1
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务