二項式係數展開,係數可以遞推得到。注意正負號。
import java.math.BigInteger;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner cin = new Scanner(System.in);
int t = cin.nextInt();
while(t > 0){
t--;
int n = cin.nextInt();
int flag;//正負標記
if(n%2 == 1) flag = 1;
else flag = -1;
n--;
int num;
BigInteger a = new BigInteger("1");
BigInteger ans = new BigInteger("0");
for(int i = 0;i <= n;i++){
num = cin.nextInt();
ans = ans.add(a.multiply(BigInteger.valueOf(flag)).multiply(BigInteger.valueOf(num)));
flag=flag*-1;
a=a.multiply(BigInteger.valueOf(n-i)).divide(BigInteger.valueOf(i+1));
}
System.out.println(ans);
}
}
}