整数分解为2的幂的和

 public static void main(String[] args) {  
  
        int []a=new int[1000002]; 
        a[0]=1; 
        a[1]=1; 
        a[2]=2; 
        a[3]=2; 
        for(int i=2;i<=500000;i++){ 
            a[2*i]=(a[i]+a[2*i-2])%1000000000; 
            a[2*i+1]=a[2*i]; 
        } 
        Scanner in = new Scanner(System.in); 
        int n=in.nextInt();  
        System.out.println(a[n]);  
        
    } 

posted @ 2014-04-19 16:57  Blue-Dream  阅读(404)  评论(0编辑  收藏  举报