在做大数的题的时候现敲模板,那么长,敲出来也不知道能敲出来多少个bug,而且java的大数也是无限长的,所以用java去写大数就很方便了,当然没有python方便,但我只会java,python以后学的话再说吧。


java的基本的包:

import java.io.*

import java.util.*            输入的Scanner在这个包里

import java.math.*         BigInteger在这个包里


输入与输出:

Scanner cin = new Scanner(System.in)        输入

while(cin.hasNext())      这个就是多组输入

n = cin.nextInt();            输入一个int型

n = cin.nextBigInteger();     输入一个大数

System.out.print(n);        输出n但不换行

System.out.println();        换行

System.out.println(n);     输出n且换行


定义变量:

int a;

BigInteger a;

BigInteger b = new BigInteger("1")    定义一个大数b且赋值为1

BigDecimal;          大浮点数


定义数组:

int a[] = new int[10]

BigInteger b[] = new BigInteger[1000]


BigInteger的常用操作:

a = BigInteger.ONE;       给a赋值0

a = BigInteger.valueOf(1)    给a赋值1

a[i] = BigInteger.valueOf(10)    给a[i]赋值10

c = a.add(b);                c=a+b

c = a.substract(b);        c=a - b

c = a.multiply(b);          c=a * b

c = a.divide(b);             c=a / b

c = a.mod(b);               c=a % b

c = a.remainder(b)      c = a % b  (BigDecimal的取余)

a.pow(b)                       a^b

a.equals(b)                    比较a和b的大小,小于等于大于分别是-1,0,1

a.max(b)   a.min(b)       取大的值和小的值