题目描述 Description
孙猴子从石头中蹦出来后神通广大,做了花果山的猴王。有一次,一只猴子偷了孙猴子的中餐(就是几个桃子)藏到树洞中,孙猴子大发雷霆,立刻把这只猴子打死了(因剧情需要,其实孙猴子没那么残忍),他来到树洞前,上面有一把密码盘,上面写着:
0 1 0 2 4 7 14 26 48 89 ……
输入描述 Input Description
参见样例
输出描述 Output Description
参见样例
样例输入 Sample Input
样例输入1:5
样例输入2:9
样例输出 Sample Output
样例输出1:4
样例输出2:48
数据范围及提示 Data Size & Hint
数据范围:n<=75
提示:对于PASCAL 选手 1:在n=75的极限值,qword(PASCAL)可以存储
2:qword不可以作为循环变量
3:第an+an+1+an+2+1=an+3
代码
#include <iostream>
using namespace std;
int main(){
int n;
unsigned long long int a[100];
int i;
a[1]=0;
a[2]=1;
a[3]=0;
cin>>n;
if(n>3){
for(i=4;i<=75;i++){
a[i]=a[i-1]+a[i-2]+a[i-3]+1;
if(i==n){
cout<<a[i];
return 0;
}
}
}
else cout<<a[n];
return 0;
}