BigInteger的范围、常见用法+大整数排序(对N个长度最长可达到1000的数进行排序。)

BigInteger的范围:

BigInteger 任意大的整数,原则上是,只要你的计算机的内存足够大,可以有无限位的,

BigInteger 任意大的实数,可以处理小数精度问题。

BigInteger的常见用法:

(1)赋值:将int型的数赋值给BigInteger,BigInteger.valueOf(k);

(2)运算:

add:+ ;

subtract:- ;

multiply:*;

divide: /;

mod:% ;

pow:^(次方);

gcd,abs:公约数,绝对值;

shiftLeft:<<;

shiftRight:>> ;

and:&&;

or:||;

xor:异或;

not:!非;

compareTo:根据该数值是小于、等于、或大于 val 返回 -1、0 或 1;

equals:判断两数是否相等,也可以用compareTo来代替;

min,max:取两个数的较小、大者;

intValue,longValue,floatValue,doublue:把该数转换为该类型的数的值。

(3)进制转换:

String toString();//默认转换为十进制

String toString(int radix);//转换为radix进制

eg:String str = new BigInteger("555",10).toString(2);           //将十进制的555转换为2进制

大整数排序

对N个长度最长可达到1000的数进行排序。

输入描述:

输入第一行为一个整数N,(1<=N<=100)。
接下来的N行每行有一个数,数的长度范围为1<=len<=1000。
每个数都是一个正数,并且保证不包含前缀零。

输出描述:

可能有多组测试数据,对于每组数据,将给出的N个数从小到大进行排序,输出排序后的结果,每个数占一行。

示例:

示例1:

输入

3
11111111111111111111111111111
2222222222222222222222222222222222
33333333

输出

33333333
11111111111111111111111111111
2222222222222222222222222222222222

代码:

import java.math.BigInteger;
import java.util.Arrays;
import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        while(in.hasNext()){
            int n = in.nextInt();
            BigInteger[] nums = new BigInteger[n];
            for(int i=0; i

 

你可能感兴趣的:(牛客,java)