Java 提交格式
import .. 头文件 ..
public class Main {
public static void main(String[] args) {
Scanner cin = new Scanner(System.in);
while(cin.hasNext()){ // 等同于 !=EOF
T = cin.nextInt();
}
}
}
头文件:
java.util.Scanner;
java.math.BigInteger;
java.math.BigDecimal;
大数运算时要使用相关的方法而不能使用运算符 如:(+ - * / ..)
BigInteger 大 ——— 整数
BigInteger m = new BigInteger( String );
BigDecimal 大 ——— 浮点数 //不适合于大量的数学运算
BigDecimal m = new BigDecimal( String );
基本函数:
BigInteger n = new BigInteger( String );
BigInteger m = new BigInteger( String );
toString(void); => BigInteger -> String
n = BigInteger.valueOf(k); => n = k - - - - - - BigInteger.ZERO/ONE..
n.add(m); => n + m
n.subtract(m); => n - m
n.multiply(m); => n * m
n.divide(m); => n / m 整除
n.remainder(m); n.mod(m); => n % m
int[] a = n.divideAndRemainder(m); => a[0] = n / m; a[1] = n % m
n.pow(m); => n ^ m n的m次幂
n.gcd(m); => gcd(n,m)
n.abs(); => abs(n)
n.negate(); => -n
n.signum(); => n = 0 return 0
n < 0 return -1
n > 0 return 1
n.shiftLeft(k); => n << k 移位运算
n.shiftRight(k); => n >> k
n.isProbablePrime(); => 判断是否为素数
n.compareTo(m); => n < m return -1 比较方法
n > m return 1
n = m return 0
n.equals(m); => n == m return 1
n.min(m); => return min(n, m)
n.max(m); => return max(n, m)
n.intValue(); n.longValue(); n.floatValue(); n.doubleValue();
=> change BigInteger to int / long / float / double
bit_operation: 位运算
n.and(m); => n & m 且
n.or(m); => n | m 或
n.xor(m); => n xor m 异或
n.not(); => !n 非
n.bitLength(); => 二进制位数 (补码-正数的补码为其自身)
n.bitCount();
进制转换:
String string = new java.math.BigInteger(String num, int from).toString(int to);