用c或者C++处理大数比较麻烦,于是决心学习一下JAVA中大数运算。

先下载一个eclipse,具体的用法去问度娘吧

JAVA中有两个类BigIntegerBigDecimal分别表示大整数类和大浮点数类

这两个类都在java.math.*包中,因此每次必须在开头处引用该包(import java.math.*)。

下面说说几个常用的用法

1.

int a=3;

BigInteger b=BigInteger.valueOf(a);

则b=3;

2.

String s="-123459999999999999999999";
BigInteger c=new BigInteger(s,10);

把字符串转换成10进制的大数;

3.

BigInteger a=new BigInteger("234");
BigInteger b=new BigInteger("567");

System.out.println(a.add(b));

2个大数相加,a没变。

subtract(); 相减   multiply(); 相乘   divide();    相除取整   remainder(); 取余  pow();   a.pow(b)=a^b  gcd();   最大公约数

abs(); 绝对值  negate(); 取反数  mod(); a.mod(b)=a%b=a.remainder(b);   max(); min();  boolean equals(); 是否相等

3.

读入:

用Scanner类定义对象进行控制台读入,Scanner类在java.util.*包中

Scanner cin=new Scanner(System.in);
while(cin.hasNext())//相当于EOF
{
int n;
BigInteger m;
n=cin.nextInt();
m=cin.nextBigInteger();
System.out.println(n);
System.out.println(m);
}

插入写的代码

 import java.math.BigInteger;
import java.util.Scanner;
public class hello { public static void main(String[] args) {
// TODO Auto-generated method stub
//System.out.println("hello");
//int num=3;
//System.out.println("hell0"+num);
//int a=3;
//BigInteger b=BigInteger.valueOf(a);
//System.out.println(b);
//String s="-123459999999999999999999";
//BigInteger c=new BigInteger(s,10);
//BigInteger c=new BigInteger("12345");
//BigInteger a=new BigInteger("234");
//BigInteger b=new BigInteger("567");
//BigInteger c=a+b;
//subtract();
//multiply();
//divide();
//remainder();
//pow();
//gcd();
//System.out.println(a.add(b));
Scanner cin=new Scanner(System.in);
while(cin.hasNext())
{
//int n;
BigInteger m,n;
n=cin.nextBigInteger();
m=cin.nextBigInteger();
boolean coper=n.equals(m);
System.out.println(n);
System.out.println(m);
System.out.println(coper);
} }
}

Java BigInteger(大数,ACM比赛专用)的更多相关文章

  1. 用Java进行大数处理(BigInteger)-hdu1042

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1042 题目描述: 代码实现: import java.util.Scanner; import jav ...

  2. Java中的BigInteger在ACM中的应用

    Java中的BigInteger在ACM中的应用 在ACM中的做题时,常常会遇见一些大数的问题.这是当我们用C或是C++时就会认为比較麻烦.就想有没有现有的现有的能够直接调用的BigInter,那样就 ...

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

    大数运算之 Java BigInteger 的基本用法 在程序设计竞赛中会遇到高精度运算的问题,C++没有高精度运算,只能手动模拟人工运算,手动实现高精度,而 java.math 包中的 BigInt ...

  4. Java的大数操作分为BigInteger和BigDecimal

    Java的大数操作分为BigInteger和BigDecimal,但这两给类是分开使用的,有时候在编程的时候显得略微繁琐,现在编写了一个将二者合二为一的大数操作类. 大数操作类代码如下: 1 pack ...

  5. 【Java】-BigInteger大数类的使用【超强Java大数模板 总结】

    Scanner cin = new Scanner(new BufferedInputStream(System.in)); 这样定义Scanner类的对象读入数据可能会快一些! 参考这个博客继续补充 ...

  6. ACM算法模板 · 一些常用的算法模板-模板合集(打比赛专用)

    ACM算法模板 · 一些常用的算法模板-模板合集(打比赛专用)

  7. Java中大数的使用与Java入门(NCPC-Intergalactic Bidding)

    引入 前几天参加湖南多校的比赛,其中有这样一道题,需要使用高精度,同时需要排序,如果用c++实现的话,重载运算符很麻烦,于是直接学习了一发怎样用Java写大数,同时也算是学习Java基本常识了 题目 ...

  8. HDU 5686 斐波那契数列、Java求大数

    原题:http://acm.hdu.edu.cn/showproblem.php?pid=5686 当我们要求f[n]时,可以考虑为前n-1个1的情况有加了一个1. 此时有两种情况:当不适用第n个1进 ...

  9. JAVA解决大数

    主题链接:CLICK HERE~ 有了Java求解大数变得如此简单,以后再也不用操心大数模板了.哦啦啦啦. import java.math.BigInteger; import java.math. ...

随机推荐

  1. word 转 PDF时报错

    利用微软自带的com组件,把word转化成Pdf,利用vs2012调试时没有问题,但是发布到IIS时出错,错误为: 检索 COM 类工厂中 CLSID 为 {} 的组件时失败,原因是出现以下错误: 8 ...

  2. ubuntu 设置静态ip

    1. 为网卡配置静态IP地址 编辑文件/etc/network/interfaces: sudo vi /etc/network/interfaces 并用下面的行来替换有关eth0的行: # The ...

  3. php pthreads 多线程扩展的使用:一个较为稳定例子。

    今天研究了worker stackable的配合方法,写了两种形式,虽然能工作,但是都会出现内存不听增长的问题: 于是把第一个方法的代码邮件给了作者,到现在他没有回复我. 我最后放弃两者配合的方式,直 ...

  4. PowerMock.expectNew(Class<T> type, Class<?>[] parameterTypes, Object... arguments)

    1:PowerMock.expectNew(Class<T> type, Class<?>[] parameterTypes, Object... arguments) 如果你 ...

  5. linux修改系统时间和linux查看时区、修改时区的方法

    一.查看和修改Linux的时区 1. 查看当前时区命令 : "date -R" 2. 修改设置Linux服务器时区方法 A命令 : "tzselect" 方法 ...

  6. 3.5电子书pc显示

    使用svgalib 下载地址:https://launchpad.net/ubuntu/+source/svgalib/1:1.4.3-30svgalib_1.4.3.orig.tar.gzsvgal ...

  7. closeChrome

    function closeChrome(){ var browserName=navigator.appName; if (browserName=="Netscape") { ...

  8. 面试题目-c和c++的区别

    在很大程度上,标准C++是标准C的超集.实际上,所有C程序也是C++程序,然而,两者之间有少量区别.下面简要介绍一下最重要的区别.    1. 在C++中,局部变量可以在一个程序块内在任何地方声明,在 ...

  9. [转]source inslght使用指导

    作为一个开放源代码的操作系统,Linux附带的源代码库使得广大爱好者有了一个广泛学习.深入钻研的机会,特别是Linux内核的组织极为复杂,同时,又不能像windows平台的程序一样,可以使用集成开发环 ...

  10. 关于wait和notify的用法

    通常,多线程之间需要协调工作.例如,浏览器的一个显示图片的线程displayThread想要执行显示图片的任务,必须等待下载线程 downloadThread将该图片下载完毕.如果图片还没有下载完,d ...