有n级台阶。从地面(第0级)出发,首先连续的上台阶,上到不超过第n级的某一个位置后再连续的下台阶,直到回到地面。若每次上下台阶只允许走1级或2级,请问可能的上下台阶的方案数是多少?
特别地,在0级站着不动也算一种方案。

数据格式:
输入一行包含两个正整数n和m。
输出一个整数,表示n级台阶有多少种合法的走楼梯方案,答案对m取余。

例如:输入:
2 10007
程序应该输出
6

【样例说明1】
共有6种方案(其中+表示上台阶,-表示下台阶):
(1) 原地不动
(2) +1 -1
(3) +2 -2
(4) +2 -1 -1
(5) +1 +1 -2
(6) +1 +1 -1 -1

再例如,输入:
3 14
程序应该输出:
1

【样例说明2】
共有15种方案,对14取余后得1。
【数据规模】
对于30%的数据,n<=10000;
对于100%的数据,n<=10^17,m<=2*10^9。

资源约定:
峰值内存消耗(含虚拟机) < 256M
CPU消耗 < 1000ms
请严格按要求输出,不要画蛇添足地打印类似:“请您输入…” 的多余内容。
所有代码放在同一个源文件中,调试通过后,拷贝提交该源码。
注意:不要使用package语句。不要使用jdk1.7及以上版本的特性。
注意:主类的名字必须是:Main,否则按无效代码处理。

解析:这个题目不要被上楼梯、下楼梯搞迷糊了,我们只需要计算出每次走1步或2步,走n级台阶有几种可能性就可以了。至于下楼梯的情况平方以下就可以了。

import java.util.Scanner;public class Main {static int cnt = 0;public static void main(String[] args) {Scanner  sc = new Scanner(System.in);int n = sc.nextInt();int m = sc.nextInt();int sum=0;for(int i=0;i<=n;i++){f(i, 0);sum += cnt*cnt;cnt = 0;}System.out.println(sum%m);}private static void f(int n, int i) {// TODO Auto-generated method stubif (i > n) {return;}if (i == n) {cnt += 1;}f(n, i + 1);f(n, i + 2);}
}

当然,大神的代码一般都是这样的,如果看不太懂就看上面的方法吧。

import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner  sc = new Scanner(System.in);int n = sc.nextInt();int m = sc.nextInt();int sum=1;for(int i=0;i<=n;i++){sum+=i*i;}System.out.println(sum%m);}
}

蓝桥杯第五届省赛JAVA真题----n级台阶相关推荐

  1. 蓝桥杯第五届省赛JAVA真题----七对数字

    今有7对数字:两个1,两个2,两个3,-两个7,把它们排成一行. 要求,两个1间有1个其它数字,两个2间有2个其它数字,以此类推,两个7之间有7个其它数字.如下就是一个符合要求的排列: 1712642 ...

  2. 蓝桥杯第五届省赛JAVA真题----最长公共子序列

    一个串的子串是指该串的一个连续的局部.如果不要求连续,则可称为它的子序列. 比如对串: "abcdefg" 而言,"ab","abd",&q ...

  3. 蓝桥杯第八届省赛JAVA真题----k倍区间

    标题: k倍区间 给定一个长度为N的数列,A1, A2, ... AN,如果其中一段连续的子序列Ai, Ai+1, ... Aj(i <= j)之和是K的倍数,我们就称这个区间[i, j]是K倍 ...

  4. 蓝桥杯第八届省赛JAVA真题----油漆面积

    标题:油漆面积 X星球的一批考古机器人正在一片废墟上考古. 该区域的地面坚硬如石.平整如镜. 管理人员为方便,建立了标准的直角坐标系. 每个机器人都各有特长.身怀绝技.它们感兴趣的内容也不相同. 经过 ...

  5. 蓝桥杯第三届省赛JAVA真题----取球博弈

    题目描述 今盒子里有n个小球,A.B两人轮流从盒中取球,每个人都可以看到另一个人取了多少个,也可以看到盒中还剩下多少个,并且两人都很聪明,不会做出错误的判断. 我们约定: 每个人从盒子中取出的球的数目 ...

  6. 蓝桥杯第八届省赛JAVA真题----Excel地址

    标题: Excel地址 Excel单元格的地址表示很有趣,它使用字母来表示列号. 比如, A表示第1列, B表示第2列, Z表示第26列, AA表示第27列, AB表示第28列, BA表示第53列, ...

  7. 蓝桥杯第八届省赛JAVA真题----9数算式

    标题:9数算式 观察如下的算式: 9213 x 85674 = 789314562 左边的乘数和被乘数正好用到了1~9的所有数字,每个1次. 而乘积恰好也是用到了1~9的所有数字,并且每个1次. 请你 ...

  8. 蓝桥杯第八届省赛JAVA真题----包子凑数

    标题:包子凑数 小明几乎每天早晨都会在一家包子铺吃早餐.他发现这家包子铺有N种蒸笼,其中第i种蒸笼恰好能放Ai个包子.每种蒸笼都有非常多笼,可以认为是无限笼. 每当有顾客想买X个包子,卖包子的大叔就会 ...

  9. 蓝桥杯第八届省赛JAVA真题----分巧克力

    标题: 分巧克力 儿童节那天有K位小朋友到小明家做客.小明拿出了珍藏的巧克力招待小朋友们. 小明一共有N块巧克力,其中第i块是Hi x Wi的方格组成的长方形. 为了公平起见,小明需要从这 N 块巧克 ...

最新文章

  1. redis主从_Redis主从复制部署
  2. ASP.NET Core 模型验证的一个小小坑
  3. 计算机网络:第五章 传输层
  4. oracle函数 INITCAP(c1)
  5. 此人提出平行线可以相交遭嘲讽,郁郁而终,12年后却被认可
  6. CCF NOI1052 Self-Numbers
  7. cygwin清屏技巧
  8. pg数据库游标的使用
  9. ICT通信运营企业的重建之服务升级(三)----如何打造ICT服务满意度
  10. html 4种居中方式
  11. vue 上传音视频文件获取时长
  12. java split 字符串作为分隔符_Java 字符串分隔 split
  13. 计算机网络之应用层Tips
  14. 日志文件写入失败(permission denied)
  15. 20176408李俊 线性表
  16. 计算机管理 没有适当的权限,XP更改不了系统时间提示“您没有适当的特权级”是怎么回事...
  17. JavaScript-iframe
  18. Linux系统平均负载是如何计算的?
  19. linux网络电话代码,即使拨打至电话号码,Skype 翻译功能仍然可以使用啊
  20. 8月8本程序员新书:Rust、软技能、Python、量子...

热门文章

  1. linux 开启关闭tomcat服务器端口,linux系统安装、启动和关闭tomcat
  2. c语言 系统 dome,订餐系统(Dome)
  3. 实战 es6_腾讯云 Elasticsearch 实战篇(二十二) ES6.8权限使用配置
  4. java static方法
  5. 制作 小 linux 教程,用BusyBox制作Linux最小系统
  6. 【课题总结】OpenCV 抠图项目实战(6)色彩范围抠图
  7. 请领导批阅文件怎么说_请领导吃饭,不要对外说,职场员工为何如此保密?
  8. 群签名和环签名的区别_环签名方案的研究
  9. docker 删除包含关键字的镜像_30分钟带你轻松掌握Docker原理
  10. python 释放内存_学了4年C++后,我转向了Python