本周练习题目(高精度,大数值)

简介: 本周练习题目(高精度,大数值)

BigIntger

是什么:

对于超出了所有基本数据类型范围的数字,字符串,在这种情况下,也就是要求我们对于数据实现高精度,从而保证数据能够正常的进行一个相应的输出

这时候就需要使用到  BigIntger来扩大对于整数数据的精准度,无论多大,都能够保证在范围当中

                 (BigInteger类实现了任意精度的整数运算,BigDecimal实现了任意精度的浮点数运算。)

怎么用:

   静态方法:

       BigIntger x=new  BigInter("10000000000");

           System.out.println(x);

               //最后直接输出的是x的大数值:   10000000000

               tips:在静态的方法当中,必须要对于需要的数据添加一个双引号,因为其数值过大,可以先简单的将其理解为字符串之间的运算

         

     

// 加法
BigInteger sum = a.add(b);
System.out.println(sum); // 输出:11111111100
 
// 减法
BigInteger difference = a.subtract(b);
System.out.println(difference); // 输出:-8641975320
 
// 乘法
BigInteger product = a.multiply(b);
System.out.println(product); // 输出:12193263111263526900
 
// 除法
BigInteger quotient = a.divide(b);
System.out.println(quotient); // 输出:0
 
// 求余
BigInteger remainder = a.remainder(b);
System.out.println(remainder); // 输出:1234567890
 
// 比较大小
int compareResult = a.compareTo(b);
System.out.println(compareResult); // 输出:-1(a < b)

题型练习

//练习:使用高精度计算各个阶乘之和

Scanner in=new Scanner(System.in);
        //使用大数据的方法,实现阶乘的运算
        int cent=in.nextInt();
        //开始进行数值的相加,从而实现题目的要求
        int temp=1;
 
        //设定最开始的SUM和是一个0
        BigInteger add=new BigInteger("0");
        BigInteger a=new BigInteger("1");
        for (int i1 = 0; i1 < cent; i1++) {
 
            for (int i = 1; i <= temp; i++) {
                //通过使用强制转化,将其中的基本数据类型转化成为一个大数据类型
                BigInteger I = BigInteger.valueOf(i);
                a = a.multiply(I);
            }
            //添加
            add=add.add(a);
            temp++;
        //在这里添加一个需要再进行转换一个大数值类型
            int y=1;
            //这两步是为了将其中的a数值进行还原,重新变成原本的"1"
            BigInteger bigInteger = BigInteger.valueOf(y);
            a=a.subtract(a).add(bigInteger);
        }
        System.out.println(add);
    }
相关文章
|
4月前
|
算法 测试技术
枚举(蓝桥练习)(反倍数、特别数的和、找到最多的数、小蓝的漆房、小蓝和小桥的挑战)
枚举(蓝桥练习)(反倍数、特别数的和、找到最多的数、小蓝的漆房、小蓝和小桥的挑战)
|
4月前
|
存储 算法 大数据
数字太大放不下,高精度来补,如何放下超大数字,以及进制转换,高精度真的超好玩。 洛谷1009,1015
数字太大放不下,高精度来补,如何放下超大数字,以及进制转换,高精度真的超好玩。 洛谷1009,1015
|
30天前
|
人工智能 算法
第一周算法设计与分析:C : 200和整数对之间的情缘
这篇文章介绍了解决算法问题"200和整数对之间的情缘"的方法,通过统计数组中每个数模200的余数,并计算每个同余类中数的组合数来找出所有满足条件的整数对(i, j),使得\( A_i - A_j \)是200的整数倍。
|
4月前
|
C语言
浙大版《C语言程序设计(第3版)》题目集 练习8-2 计算两数的和与差 (10分)
浙大版《C语言程序设计(第3版)》题目集 练习8-2 计算两数的和与差 (10分)
|
4月前
|
Java C++ Python
试题 基础练习 数的读法
试题 基础练习 数的读法
38 0
|
10月前
|
存储 算法
算法小白的心得笔记:比较小数点后五位,而不会受到浮点数精度问题的影响。
std::cerr << "\n __" << inum << "__ 计算错误 " << ratio << " 应该是 " << beta3[inum - 1] << std::endl; return 1;
38 0
|
11月前
OJ题库:计算日期到天数转换、打印从1到最大的n位数 、尼科彻斯定理
OJ题库:计算日期到天数转换、打印从1到最大的n位数 、尼科彻斯定理
50 0
PTA第五章7-13 求一批整数中出现最多的个位数字
给定一批整数,分析每个整数的每一位数字,求出现次数最多的个位数字。例如给定3个整数1234、2345、3456,其中出现最多次数的数字是3和4,均出现了3次。
110 0
|
安全 C++
CSDN三道简单题:合并检测、星期一、特别数的和
CSDN三道简单题:合并检测、星期一、特别数的和
125 0
CSDN三道简单题:合并检测、星期一、特别数的和
|
机器学习/深度学习 算法 安全
【Python 百练成钢】时间调整、二进制数、回文素数、字母距离、CTF、Huffuman树、抽奖、前后缀最值、纯质数求解、花园灌溉
【Python 百练成钢】时间调整、二进制数、回文素数、字母距离、CTF、Huffuman树、抽奖、前后缀最值、纯质数求解、花园灌溉
215 0
【Python 百练成钢】时间调整、二进制数、回文素数、字母距离、CTF、Huffuman树、抽奖、前后缀最值、纯质数求解、花园灌溉