uva 1647(规律)

O(n)=O(n-2)+2^(n-3),大数高精度

import java.util.*;
import java.math.*;
public class Main {
   static BigInteger a[]=new BigInteger[1010];
   static BigInteger b[]=new BigInteger[1010];
   public static void init()
   {
       BigInteger bb=BigInteger.valueOf(2);
       b[0]=BigInteger.valueOf(1);
       for(int i=1;i<=1000;i++)
           b[i]=b[i-1].multiply(bb);
       a[1]=BigInteger.valueOf(0);
       a[2]=BigInteger.valueOf(1);
       a[3]=BigInteger.valueOf(1);
       for(int i=4;i<=1000;i++)
       {
           a[i]=a[i-2].add(b[i-3]);
       }
   }
    public static void main(String[] args) {
        init();
       Scanner sc=new Scanner(System.in);
       while(sc.hasNext())
       {
           int nn=sc.nextInt();
           System.out.println(a[nn]);
       }

    }

}

 

posted on 2018-02-11 11:07  发牌员  阅读(165)  评论(0)    收藏  举报

导航