题目描述


    现在有一个大小n*1的收纳盒,我们手里有无数个大小为1*1和2*1的小方块,我们需要用这些方块填满收纳盒,请问我们有多少种不同的方法填满这个收纳盒



输入描述:



第一行是样例数T 第2到2+T-1行每行有一个整数n(n<=80),描述每个样例中的n。



输出描述:



对于每个样例输出对应的方法数



代码如下:



类似斐波那契数列



  
 
  
 
   #include<iostream>
  
 
  
 
   using 
    namespace 
    std;
  
 
  
 
   int 
    main()
  
 
  
 
   {
  
 
  
 
   
   long 
    long 
    f[81],i,t,n;
  
 
  
 
   
   scanf
   (
   "%lld"
   ,&t);
  
 
  
 
   
   f[1]=1;
  
 
  
 
   
   f[2]=2;
  
 
  
 
   
   for
   (i=3;i<=80;i++)
  
 
  
 
   
   {
  
 
  
 
   
   f[i]=f[i-1]+f[i-2];
  
 
  
 
   
   }
  
 
  
 
   
   while
   (t--)
  
 
  
 
   
   {
  
 
  
 
   
   scanf
   (
   "%lld"
   ,&n);
  
 
  
 
   
   printf
   (
   "%lld\n"
   ,f[n]);
  
 
  
 
   
   }
   return 
    0;
  
 
  
 
   }