规律题,如果多写出几组数据就可以找出规律了。。。。
代码:
#include<stdio.h>
#include<string.h>
__int64 num[1200000];
int main(){
__int64 n;
int i,j,k,t;
memset(num,0,sizeof(num));
num[1]=1;
num[2]=2;
for(i=3;i<1200000;i++){
if(i%2==0)
num[i]=num[i-2]+num[i/2];
else
num[i]=num[i-1];
num[i]%=1000000000;
}
while(~scanf("%I64d",&n))
printf("%I64d\n",num[n]);
return 0;
}