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

26 篇文章 3 订阅

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<n; i++){
                nums[i] = in.nextBigInteger();
            }
            Arrays.sort(nums);
            for(int i=0; i<n; i++){
                System.out.println(nums[i]);
            }
        }
    }
}

 

  • 8
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值