数楼梯(洛谷-P1255)
生活随笔
收集整理的這篇文章主要介紹了
数楼梯(洛谷-P1255)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題目描述
樓梯有N階,上樓可以一步上一階,也可以一步上二階。
編一個程序,計算共有多少種不同的走法。
輸入輸出格式
輸入格式:
一個數字,樓梯數。
輸出格式:
走的方式幾種。
輸入輸出樣例
輸入樣例#1:
4
輸出樣例#1:
5
思路:斐波那契數列+高精度的結合
源代碼
#include<iostream> #include<cstring> using namespace std; int a[5000],b[5000],c[5000]; int main() {int n;int x=1;int i,j;cin>>n;//輸入if(n<3){cout<<n;return 0;}/*初始化*/memset(a,0,sizeof(a));memset(b,0,sizeof(b));memset(c,0,sizeof(c));a[1]=1;b[1]=2;for(i=3;i<=n;i++){for(j=1;j<=x;j++)c[j]=a[j]+b[j];//相加for(j=1;j<=x;j++)//進位{if(c[j]>9){c[j+1]=c[j+1]+c[j]/10;c[j]%=10;if(j+1>x)x++;}}/*交換*/for(j=1;j<=x;j++)a[j]=b[j];for(j=1;j<=x;j++)b[j]=c[j];}for(i=x;i>0;i--)//倒序輸出cout<<b[i];return 0; }?
總結
以上是生活随笔為你收集整理的数楼梯(洛谷-P1255)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 集合的划分(信息学奥赛一本通-T1315
- 下一篇: 常用技巧 —— 位运算 —— 位运算的应