Java大数运算

import java.util.*;
import java.math.*;
public class Main{
    public static void main(String args[]){
       Scanner cin = new Scanner(System.in);
       BigInteger a, b;

       //以文件EOF结束
       while (cin.hasNext()){
           a = cin.nextBigInteger();
           b = cin.nextBigInteger();

           System.out.println(a.add(b)); //大整数加法
           System.out.println(a.subtract(b)); //大整数减法
           System.out.println(a.multiply(b)); //大整数乘法
           System.out.println(a.divide(b)); //大整数除法(取整)
           System.out.println(a.remainder(b)); //大整数取模

           //大整数的比较
           if( a.compareTo(b) == 0 ) System.out.println("a == b"); //大整数a==b
           else if( a.compareTo(b) > 0 ) System.out.println("a > b"); //大整数a>b
           else if( a.compareTo(b) < 0 ) System.out.println("a < b"); //大整数a<b

           //大整数绝对值
           System.out.println(a.abs()); //大整数a的绝对值

           //大整数的幂
           int exponent=10;
           System.out.println(a.pow(exponent)); //大整数a的exponent次幂

           //返回大整数十进制的字符串表示
           System.out.println(a.toString());

           //返回大整数p进制的字符串表示
           int p=8;
           System.out.println(a.toString(p));
       }
    }
}
时间: 2024-08-13 03:15:50

Java大数运算的相关文章

java 大数运算[转]

用JAVA 实现算术表达式(1234324234324 + 8938459043545)/5 + 343434343432.59845 因为JAVA语言中的long 定义的变量值的最大数受到限制,例如123456789987654321这样的整数就不能存放在long类型的变量中,如果这样两个大数相加或相乘,产生的结果会更大.比如,JAVA语言中如果使用long l = 1000000000这样定义没错,但如果加上2000000000变成 1000000000+2000000000测试结果就为-1

hdu4927 Series 1(组合+公式 Java大数高精度运算)

题目链接: Series 1 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 262144/262144 K (Java/Others) Total Submission(s): 423    Accepted Submission(s): 146 Problem Description Let A be an integral series {A1, A2, . . . , An}. The zero-order series o

大数运算之 Java BigInteger 的基本用法

大数运算之 Java BigInteger 的基本用法 在程序设计竞赛中会遇到高精度运算的问题,C++没有高精度运算,只能手动模拟人工运算,手动实现高精度,而 java.math 包中的 BigInteger 提供了高精度的基本运算,因此竞赛中常用 Java 解决高精度运算问题. 当然如果比赛支持 python 就当我没说. BigInteger 对象的创建 BigInteger 类在 java.math.BigInteger 包中,首先引用该包. import java.math.BigInt

java大数--总结

BigInteger(高精度整数) 1.所在包: java.math.BigInteger 2.大数运算,以下返回类型均为BigInteger BigInteger a; BigInteger b; a.add(b);//大数相加 a.divide(b);//a整除以b a.mod(b);//a对b取余 3.基本类型转化成大数 BigInteger x = BigInteger.valueOf(n); 4.大数求最大公约数 BigInteger a; BigInteger b; a.gcd(b)

ACM-ICPC java(大数)使用总结

今天碰到一道大数除法和模运算的题,以前也写过加减乘的大数模拟运算,但总觉着太麻烦了,今天大体了解了一下Java的输入输出,特来总结一下如何使用java中的高精度类型.首先我们要会建一个简单的java程序(以A+B为例)如下 import java.io.*; import java.util.*; import java.math.*; import java.text.*; public class Main { public static void main(String args[]) {

java 大数计算

这几天做了几道用大数的题,发现java来做大数运算十分方便.对acmer来说是十分实用的 1 import java.io.*; 2 import java.math.BigInteger; 3 import java.util.*; 4 public class Main { 5 6 public static void main(String[] args) { 7 // TODO Auto-generated method stub 8 Scanner cin=new Scanner (n

java大数

java大数还是很好用的! 基本加入: import java.math.BigInteger; import jave.math.BigDecimal; 分别是大数和大浮点数. 首先读入可以用: Scanner input = new Scanner(System.in); BigInteger a = new input.nextBigInteger(); 这样读还是很方便的 当然还有自己创建: BigInteger a = new BigInteger("1"); int b=1

java大数模板

java 大数计算 这几天做了几道用大数的题,发现java来做大数运算十分方便.对acmer来说是十分实用的 1.valueOf(parament); 将参数转换为制定的类型 比如 int a=3; BigInteger b=BigInteger.valueOf(a); 则b=3; String s=”12345”; BigInteger c=BigInteger.valueOf(s); 则c=12345: 2.add(); 大整数相加 BigInteger a=new BigInteger(“

HDU 5047 Sawtooth (JAVA大数类)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5047 题面: Sawtooth Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Total Submission(s): 1636    Accepted Submission(s): 637 Problem Description Think about a plane: ● O