Java在ACM中的主要应用是大数类【个人见解】。做个小总结,留作模板用。

类名默认为Main。

输入:

声明一个输入对象cin;Scanner cin=new Scanner(System.in);

输入一个int值:Int a=cin.nextInt();

输入一个大数:BigDecimal a=cin.nextBigDecimal();

EOF结束:while(cin.hasNext()){。。。}

输出:

输出str【任意类型】:System.out.println(str);【有换行】System.out.print(str);【无换行】

System.out.println(”str“);【输出字符串str】

赋值:BigInteger a=new BigInteger(String.valueOf(12));

大数类特殊函数:

判断相等:c.compareTo(BigDecimal.ZERO)==0【c等于】

判断大于:c.compareTo(BigDecimal.ZERO)>0  【c大于0】

判断小于:c.compareTo(BigDecimal.ZERO)<0  【c小于0】

修改格式:c.stripTrailingZeros().toPlainString();【c去除末尾0,并转换乘字符串】

字符串函数:

str.startWith("0").【以0开始】str.endWith("0")【以0结束】

str.subString(int x,int y)【从x到y的str的子串】str.subString(int x))【从x到结尾的str的子串】

BigInteger的函数:

构造:public BigInteger(String str)【把string类型数据转变为大整数】

构造:public BigInteger pow(BigDecimal b)【b次方】

加:public BigInteger add(BigInteger b)【加上b】

减:public BigInteger subtract(BigInteger b)【减去b】

乘:public BigInteger  multiply(BigInteger b)【乘b】

除:public BigInteger divided(BigInteger b)【除b】

最大值:public BigInteger max(BigInteger a)【返回最大值】

最小值:public BigInteger min(BigInteger a)【返回最小值】

除:public BigInteger [] dividedandRemainder(BigInteger b)【除b,数组第一位是商,第二位是余数】

BigDecimal的函数:

构造:public BigDecimal(String str)【把string类型数据转变为高精度数】

            public BigDecimal(int str)【把int 类型数据转变为大整数】

           public BigDecimal(double str)【把double类型数据转变为大整数】

次方:public BigDecimal pow (BigDecimal b)【b次方】

加:public BigDecimal add(BigDecimal b)【加上b】

减:public BigDecimal subtract(BigDecimal b)【减去b】

乘:public BigDecimal multiply(BigDecimal b)【乘b】

除:public BigInteger divided(BigInteger b)【除b】