hdu4927Series 1 java大数

//给以个序列a1 , a2 , a3 ...an
//0序列是序列本身a1 , a2 , a3 ...
//1序列是前一个序列的前面的一个数建a2-a1 , a3-a2 ...
//求第n-1的序列的第一个数
//找规律可得每一位乘以一个组合数
import java.math.BigInteger;
import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
       Scanner in = new Scanner(System.in) ;
        int t = in.nextInt() ;
        while((t--)!=0)
        {
            int n = in.nextInt() ; 
            BigInteger ans  = new BigInteger("0");
            BigInteger c =  BigInteger.valueOf(1) ;       
            for(int i = 0;i < n;i++)
            {
                BigInteger a = in.nextBigInteger() ; 
                BigInteger tmp = c.multiply(a) ;
                if(((n-i)%2)==1)
                    ans = ans.add(tmp) ;
                else
                    ans = ans.subtract(tmp) ; 
                c = c.multiply(BigInteger.valueOf(n-1-i)) ;
                c = c.divide(BigInteger.valueOf(i+1)) ;
            }
            System.out.println(ans);
        }
    }  
}

你可能感兴趣的:(hdu4927Series 1 java大数)