3525:上台阶

3525:上台阶

总时间限制: 
1000ms

内存限制: 
65536kB
描述

楼梯有n(100 > n > 0)阶台阶,上楼时可以一步上1阶,也可以一步上2阶,也可以一步上3阶,编程计算共有多少种不同的走法。

输入
输入的每一行包括一组测试数据,即为台阶数n。最后一行为0,表示测试结束。
输出
每一行输出对应一行输入的结果,即为走法的数目。
样例输入
1
2
3
4
0
样例输出
1
2
4
7
 1 #include<iostream>
 2 #include<cstdio>
 3 #include<queue>
 4 #include<cmath>
 5 using namespace std;
 6 int tot=0;
 7 int find(int n)
 8 {
 9     if(n==1)return 1;
10     else if(n==2) return 2;
11     else if(n==3) return 4;
12     else return find(n-3)+find(n-2)+find(n-1);
13 }
14 int main() {
15     int a,b;
16     while(cin>>a)
17     {
18         if(a==0)break;
19         else
20         cout<<find(a)<<endl;
21     }
22     return 0;
23 }

时间: 2024-12-29 06:58:46

3525:上台阶的相关文章

递推-练习2--noi3525:上台阶

递推-练习2--noi3525:上台阶 一.心得 二.题目 3525:上台阶 总时间限制:  1000ms 内存限制:  65536kB 描述 楼梯有n(100 > n > 0)阶台阶,上楼时可以一步上1阶,也可以一步上2阶,也可以一步上3阶,编程计算共有多少种不同的走法. 输入 输入的每一行包括一组测试数据,即为台阶数n.最后一行为0,表示测试结束. 输出 每一行输出对应一行输入的结果,即为走法的数目. 样例输入 1 2 3 4 0 样例输出 1 2 4 7 三.AC代码 1 #includ

2017-1,福州第十九中学,信息学奥赛培训跟进表

(首先,请你收藏本页面) 联系教师:[email protected] 培训地点:十九中,一号楼,6层,第二机房 培训守则: 1.学员每次培训,均需携带如下物品:鞋套(禁止使用一次性鞋套).水笔.荧光记号笔.<奥赛一本通>(第四版). 2.定位就座,严肃学习纪律,严禁携带零食及饮料进入机房. 3.认真做好课前预习.课堂笔记.和课后复习作业的工作. 4.不迟到.不早退. 5.无故迟到.早退.缺课.不做作业--,次数较多的,自己回去跟家长说,不要再来浪费时间了. 6.所有的培训内容,以本页面的通知

poj 3525 Most Distant Point from the Sea 半平面交 + 二分

题目来源: http://poj.org/problem?id=3525 分析: 题意:给定一个凸多边形,求多边形中距离边界最远的点到边界的距离. 思路 : 每次将凸多边形每条边往里平移d,判断是否存在核:二分d即可. 多边形边上的点(x , y)往里平移d 后的 坐标: s , e  为向量的 起点和终点, len 为起点和终点的距离, h 为平移的距离 x' = x + dx y' = y + dy dx = ( s.y - e.y ) / len * h ,( 原理 是 利用 三角形的相似

Poj 3525 Most Distant Point from the Sea

地址:http://poj.org/problem?id=3525 题目: Most Distant Point from the Sea Time Limit: 5000MS   Memory Limit: 65536K Total Submissions: 5167   Accepted: 2331   Special Judge Description The main land of Japan called Honshu is an island surrounded by the s

poj 3525 凸多边形多大内切圆

Most Distant Point from the Sea Time Limit: 5000MS   Memory Limit: 65536K Total Submissions: 4758   Accepted: 2178   Special Judge Description The main land of Japan called Honshu is an island surrounded by the sea. In such an island, it is natural t

上台阶

上台阶 总时间限制: 1000ms 内存限制: 65536kB 描述 楼梯有n(100 > n > 0)阶台阶,上楼时可以一步上1阶,也可以一步上2阶,也可以一步上3阶,编程计算共有多少种不同的走法. 输入 输入的每一行包括一组测试数据,即为台阶数n.最后一行为0,表示测试结束. 输出 每一行输出对应一行输入的结果,即为走法的数目. 样例输入 1 2 3 4 0 样例输出 1 2 4 7程序: #include <cstdio> #include <cstdlib> #

[编程题-京东]上台阶

[编程题] 上台阶 有一楼梯共m级,刚开始时你在第一级,若每次只能跨上一级或者二级,要走上m级,共有多少走法?注:规定从一级到一级有0种走法. 给定一个正整数int n,请返回一个数,代表上楼的方式数.保证n小于等于100.为了防止溢出,请返回结果Mod 1000000007的值. 测试样例: 3 返回:2 class GoUpstairs { public: int countWays(int n) { // write code here if(n==1) return 1; int f0=

POJ 3525 二分+半平面交

Most Distant Point from the Sea Time Limit: 5000MS   Memory Limit: 65536K Total Submissions: 3812   Accepted: 1779   Special Judge Description The main land of Japan called Honshu is an island surrounded by the sea. In such an island, it is natural t

赛码网算法: 上台阶 ( python3实现 、c实现)

上台阶 题目描述 有一楼梯共m级,刚开始时你在第一级,若每次只能跨上一级或二级,要走上第m级,共有多少走法?注:规定从一级到一级有0种走法. 输入输入数据首先包含一个整数n(1<=n<=100),表示测试实例的个数,然后是n行数据,每行包含一个整数m,(1<=m<=40), 表示楼梯的级数.样例输入223输出对于每个测试实例,请输出不同走法的数量.样例输出12时间限制C/C++语言:2000MS其它语言:4000MS 内存限制C/C++语言:65537KB其它语言:589825KB