2018年全國多校演算法寒假訓練營練習比賽(第一場) Problem:H
阿新 • • 發佈:2018-11-25
問題H:方塊與收納盒
時間限制:1 Sec 記憶體限制:
32768K
Input Sample Input
Sample Output
題目網址: https://www.nowcoder.com/acm/contest/67/H
程式碼:
Problem Description
現在有一個大小n*1的收納盒,我們手裡有無數個大小為1*1和2*1的小方塊,我們需要用這些方塊填滿收納盒,請問我們有多少種不同的方法填滿這個收納盒Input
第一行是樣例數T 第2到2+T-1行每行有一個整數n(n<=80),描述每個樣例中的n。Output
對於每個樣例輸出對應的方法數
3 1 2 4
Sample Output
1 2 5
題目網址: https://www.nowcoder.com/acm/contest/67/H
分析:
這道題考察的是斐波那契數列。公式:F(n)=F(n-1)+F(n-2)(n>=2,n∈N*)。程式碼:
#include <stdio.h> int main() { long long int T,n,i,j,a[99];//用int範圍不夠,用long long int (我在這錯了一次= =!) scanf("%lld",&T); for(i=0;i<T;i++) { a[0]=0,a[1]=1;//斐波那契數列前兩項 scanf("%lld",&n); for(j=2;j<n+2;j++) { a[j]=a[j-1]+a[j-2];//斐波那契數列公式 } printf("%lld\n",a[j-1]);//這裡j是n+2,要減1變成n+1 } return 0; }