The mook jong

ZJiaQ want to become a strong man, so he decided to play the mook jong。ZJiaQ want to put some mook jongs in his backyard. His backyard consist of n bricks that is 1*1,so it is 1*n。ZJiaQ want to put a mook jong in a brick. because of the hands of the mook jong, the distance of two mook jongs should be equal or more than 2 bricks. Now ZJiaQ want to know how many ways can ZJiaQ put mook jongs legally(at least one mook jong).

Input

There ar multiply cases. For each case, there is a single integer n( 1 < = n < = 60)

Output

Print the ways in a single line for each case.

Sample Input
1	
2
3
4
5
6
Sample Output
1
2
3
5
8
12

找规律题;

#include<cstdio>
#include<cstring>
using namespace std;
long long a[65];
int main()
{
    long long i,n;
    a[1]=1;
    a[2]=2;
    a[3]=3;
    a[4]=5;
    a[5]=8;
    for (i=6;i<=60;i++) a[i]=a[i-1]+a[i-3]+1;
    while (~scanf("%lld",&n)) printf("%lld
",a[n]);
    return 0;
}
原文地址:https://www.cnblogs.com/pblr/p/4713892.html