hdu-2709 Sumsets

规律题,如果多写出几组数据就可以找出规律了。。。。

代码:

#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;   
}

你可能感兴趣的:(hdu-2709 Sumsets)