题解 P1255 【数楼梯】

题目链接

好吧,承认python 轻松水过

代码奉上:

n = int(input())
#定义,输入
a=1
#初始的变量赋值
b=1
n-=1
#我的毒瘤的循环不得不加上这句话
if n > 0 :
#判断,第6,7很坑的
    while n>0 :
        c=a+b
        a=b
        b=c
        n-=1
    print(b)
elif n == 0 :
#判断边界
        print(a)
else :
    a-=1
    #判断边界
    print(a)
    #程序拜拜

原文地址:https://www.cnblogs.com/cn-suqingnian/p/9180004.html

时间: 2024-11-20 22:04:27

题解 P1255 【数楼梯】的相关文章

洛谷 P1255 数楼梯 高精度加法

P1255 数楼梯 时空限制1s / 128MB 题目描述 楼梯有N阶,上楼可以一步上一阶,也可以一步上二阶. 编一个程序,计算共有多少种不同的走法. 输入输出格式 输入格式: 一个数字,楼梯数. 输出格式: 走的方式几种. 输入输出样例 输入样例#1: 4 输出样例#1: 5 说明 用递归会太慢,需用递推 (60% N<=50 ,100% N<=5000) --------------------------------------------------------------------

洛谷 P1255 数楼梯

P1255 数楼梯 题目描述 楼梯有N阶,上楼可以一步上一阶,也可以一步上二阶. 编一个程序,计算共有多少种不同的走法. 输入输出格式 输入格式: 一个数字,楼梯数. 输出格式: 走的方式几种. 输入输出样例 输入样例#1: 复制 4 输出样例#1: 复制 5 说明 用递归会太慢,需用递推 (60% N<=50 ,100% N<=5000) 思路:数学+高精 #include<cstdio> #include<cstring> #include<iostream&

洛谷——P1255 数楼梯

题目描述 楼梯有N阶,上楼可以一步上一阶,也可以一步上二阶. 编一个程序,计算共有多少种不同的走法. 输入输出格式 输入格式: 一个数字,楼梯数. 输出格式: 走的方式几种. 输入输出样例 输入样例#1: 4 输出样例#1: 5 说明 用递归会太慢,需用递推 (60% N<=50 ,100% N<=5000) 也是曾经做过的一道题,单纯复习一下高精斐波那契模板 #include<cstdio> #include<cstdlib> #include<cstring&

luoguP1255 数楼梯 x

P1255 数楼梯 题目描述 楼梯有N阶,上楼可以一步上一阶,也可以一步上二阶. 编一个程序,计算共有多少种不同的走法. 输入输出格式 输入格式: 一个数字,楼梯数. 输出格式: 走的方式几种. 输入输出样例 输入样例#1: 4 输出样例#1: 5 说明 用递归会太慢,需用递推 (60% N<=50 ,100% N<=5000) 思路: 题目中说明中提及递归太慢,所以用递推做的.但是又因为范围是到5000,范围太大,所以需要用高精来做. 坑点: 斐波那契第0项的值为0,是根据题目的意思来判断的

【题解】数 [Bzoj5282]

[题解]数 [Bzoj5282] 传送门:数 \(\text{[Bzoj5282]}\) [题目描述] 众所周知,萌萌哒六花不擅长数学,所以勇太给了她一些数学问题做练习,其中有一道是这样的: 一个正整数被称为是好的当且仅当它的十进制表示是其二进制表示的后缀. 例如正整数 \((100)_{10}\) 就是一个好的正整数,它的二进制表示是 \((1100100)_{2}\),而正整数 \((2)_{10}\) 就不是一个好的正整数,它的二进制表示是 \((10)_{2}\). 现在勇太想要知道第

数楼梯——恶心的高精斐波那契数列

题目描述 楼梯有N阶,上楼可以一步上一阶,也可以一步上二阶. 编一个程序,计算共有多少种不同的走法. 输入输出格式 输入格式: 一个数字,楼梯数. 输出格式: 走的方式几种. 输入输出样例 输入样例#1: 4 输出样例#1: 5 说明 用递归会太慢,需用递推 (60% N<=50 ,100% N<=5000) 啊啊,数据太大了! 肿么办?! 当数据等于5000时的斐波那契数为 62763028004889570860352531083496840554785287027364574390258

数楼梯

题目描述 楼梯有N阶,上楼可以一步上一阶,也可以一步上二阶. 编一个程序,计算共有多少种不同的走法. 输入输出格式 输入格式: 一个数字,楼梯数. 输出格式: 走的方式几种. 输入输出样例 输入样例#1: 4 输出样例#1: 5 说明 用递归会太慢,需用递推 (60% N<=50 ,100% N<=5000) 思路:高精+斐波那契数列 代码实现: 1 #include<cstdio> 2 int n,al,bl,cl; 3 int a[3000],b[3000]={1},c[300

【题解】数的划分

题目描述 将整数n分成k份,且每份不能为空,任意两份不能相同(不考虑顺序). 例如:n=7,k=3,下面三种分法被认为是相同的. 1,1,5: 1,5,1: 5,1,1: 问有多少种不同的分法. 输出一个整数,即不同的分法. 输入格式 两个整数n,k(6<n≤200,2≤k≤6),中间用单个空格隔开. 输出格式 一个整数,即不同的分法. 输入样例 7 3 输出样例 4 题解 看起来挺像放苹果的.... 我们设$dp[i][j]$为$i$分成$j$份,则如果第$j$份为$1$,则方案数为$dp[i

【题解】数球

题目描述 小 A 有 \(n\) 个球,编号分别为 \(1\) 到 \(n\),小 A 每次都会从 \(n\) 个球中取出若干个球,至少取一个,至多取 \(n\) 个,每次取完再放回去,取出的球需要满足以下两个条件: 每次取出的球的个数两两不同. 每次取出的球的集合两两不包含. 包含是指,对于两次取球,取的数目少的那次取球的所有球都出现在取的数目多的那次取球中. 例如 \(\{1,2\}\) 和 \(\{1,2,4\}\),\(\{1,2\}\) 和 \(\{2,3\}\) 则不算作包含. 而小