题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6433
题意:给你n个数,选出一些数加起来的值不重复,有多少种方案?
题解:显然答案是 2^n。
这里n太大了,故我们用java大数相乘。
import java.util.Scanner;
import java.math.BigInteger;
import java.util.*;
public class Lianxi1 {
public static void main(String[] args) {
Scanner cin = new Scanner(System.in);
int ncase=cin.nextInt();
BigInteger mul,two = new BigInteger("2");;
// BigInteger
while((ncase--)!=0) {
int n=cin.nextInt();
mul = new BigInteger("1");
for(int i=1;i<=n;i++)
mul=mul.multiply(two);
System.out.println(mul);
}
}
}
大数其它模板:https://blog.youkuaiyun.com/qq_37985572/article/details/80887221
package bigDateOperate;
import java.math.BigInteger;
import java.util.Scanner;
public class bigData {
public static void main(String[] args) {
Scanner s=new Scanner(System.in);
String str1=null,str2=null;
System.out.println("输入第一个操作数:");
str1=s.next();
System.out.println("输入第二个操作数:");
str2=s.next();
BigInteger num1=new BigInteger(str1);
BigInteger num2=new BigInteger(str2);
System.out.println("加法:"+num1.add(num2));
System.out.println("减法:"+num1.subtract(num2));
System.out.println("乘法:"+num1.multiply(num2));
BigInteger result[]=num1.divideAndRemainder(num2);//使用result数组保存商和余数
System.out.println("除法商:"+result[0]);
System.out.println("除法余数:"+result[1]);
}
}