Click Open link Series 1
Time Limit: 2000/1000 MS (Java/others) memory limit: 262144/262144 K (Java/Others)
Total submission (s): 921 accepted submission (s): 342
Problem descriptionlet A be an integral series {A1, A2,..., }.
The zero-order series of A is a itself.
The first-order series of A is {b1, b2,..., Bn-1}, where bi = ai + 1-ai.
The ith-order series of A is the first-order series of its (I-1) Th-order series (2 <= I <= n-1 ).
Obviusly, The (n-1) Th-order series of A is a single integer. Given a, figure out that integer.
Inputthe input consists of several test cases. The first line of input gives the number of test cases T (t <= 10 ).
For each test case:
The first line contains a single integer N (1 <= n <= 3000), which denotes the length of Series.
The second line consists of N integers, describing A1, A2,..., An. (0 <= AI <= 105)
Outputfor each test case, output the required integer in a line.
Sample Input
231 2 341 5 7 2
Sample output
0-5
Authorbupt
The coefficient is Yang Hui triangle and is of high precision. It is processed in Java.
//515MS9976Kimport java.math.BigInteger;import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner cin=new Scanner(System.in);int t;t=cin.nextInt();for(int cas=1;cas<=t;cas++){BigInteger ans=BigInteger.valueOf(0);int n;n=cin.nextInt();BigInteger yanghui[]=new BigInteger[n];BigInteger s[]=new BigInteger[n+2];for(int i=0;i<n;i++)s[i]=cin.nextBigInteger();if (n == 1) { System.out.println(s[0]); continue; } yanghui[0]=BigInteger.valueOf(1);for(int i=1;i<n;i++){BigInteger x1=BigInteger.valueOf(i);BigInteger x2=BigInteger.valueOf(n-i);yanghui[i]=yanghui[i-1].multiply(x2).divide(x1);}boolean flag=true;for(int i=n-1;i>=0;i--){if(flag){ans=ans.add(yanghui[i].multiply(s[i]));flag=false;}else {ans=ans.subtract(yanghui[i].multiply(s[i]));flag=true;}}System.out.println(ans);}}}