首先应该知道题意:给你n个以2为低数的指数数列;
然后问从里面能组合出多少个和为不同的结果;
很明显,不论你选那些出来,结果都不一样,因为你选的不能为同一个数;
所以就是组合问题了:从n个不同的数里面选任意多个,只要保证结果不同就行;
所以我可以什么都不选,就没有结果,我可以选1个,就有c(n,1);选两个就有c(n,2)…
:
所以就是大整数;
import java.awt.*;
import javax.swing.*;
import java.lang.*;
import java.math.BigInteger;
import java.util.Scanner;
import java.io.*;
import java.applet.*;
class Main{
public static void main(String [] args) {
Scanner input=new Scanner(System.in);
BigInteger a=new BigInteger("2");
int n,t;
n=input.nextInt();
for(int i=0;i<n;i++) {
t=input.nextInt();
System.out.println(a.pow(t));
}
}
}