Java BigInteger(大数,ACM比赛专用)
用c或者C++处理大数比较麻烦,于是决心学习一下JAVA中大数运算。
先下载一个eclipse,具体的用法去问度娘吧
JAVA中有两个类BigInteger和BigDecimal分别表示大整数类和大浮点数类
这两个类都在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比赛专用)的更多相关文章
- 用Java进行大数处理(BigInteger)-hdu1042
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1042 题目描述: 代码实现: import java.util.Scanner; import jav ...
- Java中的BigInteger在ACM中的应用
Java中的BigInteger在ACM中的应用 在ACM中的做题时,常常会遇见一些大数的问题.这是当我们用C或是C++时就会认为比較麻烦.就想有没有现有的现有的能够直接调用的BigInter,那样就 ...
- 大数运算之 Java BigInteger 的基本用法
大数运算之 Java BigInteger 的基本用法 在程序设计竞赛中会遇到高精度运算的问题,C++没有高精度运算,只能手动模拟人工运算,手动实现高精度,而 java.math 包中的 BigInt ...
- Java的大数操作分为BigInteger和BigDecimal
Java的大数操作分为BigInteger和BigDecimal,但这两给类是分开使用的,有时候在编程的时候显得略微繁琐,现在编写了一个将二者合二为一的大数操作类. 大数操作类代码如下: 1 pack ...
- 【Java】-BigInteger大数类的使用【超强Java大数模板 总结】
Scanner cin = new Scanner(new BufferedInputStream(System.in)); 这样定义Scanner类的对象读入数据可能会快一些! 参考这个博客继续补充 ...
- ACM算法模板 · 一些常用的算法模板-模板合集(打比赛专用)
ACM算法模板 · 一些常用的算法模板-模板合集(打比赛专用)
- Java中大数的使用与Java入门(NCPC-Intergalactic Bidding)
引入 前几天参加湖南多校的比赛,其中有这样一道题,需要使用高精度,同时需要排序,如果用c++实现的话,重载运算符很麻烦,于是直接学习了一发怎样用Java写大数,同时也算是学习Java基本常识了 题目 ...
- HDU 5686 斐波那契数列、Java求大数
原题:http://acm.hdu.edu.cn/showproblem.php?pid=5686 当我们要求f[n]时,可以考虑为前n-1个1的情况有加了一个1. 此时有两种情况:当不适用第n个1进 ...
- JAVA解决大数
主题链接:CLICK HERE~ 有了Java求解大数变得如此简单,以后再也不用操心大数模板了.哦啦啦啦. import java.math.BigInteger; import java.math. ...
随机推荐
- 转载:完全卸载oracle11g步骤
完全卸载oracle11g步骤: 1. 开始->设置->控制面板->管理工具->服务 停止所有Oracle服务. 2. 开始->程序->Oracle - OraHo ...
- cordova 5.0 白名单
最新的cordova 5.0 更新了白名单机制,增强了安全性,但是也给我们在开发中带来了很多问题: 当你引入谷歌.百度地图时,会出现 Failed to load resource -- 解决办法: ...
- bzoj 1951: [Sdoi2010]古代猪文
#include<cstdio> #include<iostream> #include<cstring> #include<cmath> #defin ...
- async = require('async')
var mongoose = require('mongoose'), async = require('async'); mongoose.connect('localhost', 'learn-m ...
- 神奇的NOIP模拟赛 T1 LGTB 玩扫雷
LGTB 玩扫雷 在一个n m 的棋盘上,有位置上有雷(用“*” 表示),其他位置是空地(用“.” 表示).LGTB 想在每个空地上写下它周围8 个方向相邻的格子中有几个雷.请帮助他输出写了之后的棋盘 ...
- EL表达式中获取list长度
在jsp页面中不能通过${list.size}取列表长度,而是 <%@ taglib uri="http://java.sun.com/jsp/jstl/core" pref ...
- IPAD2 5.1.1越狱后的屏幕不能自动旋转~~~
己顶,出现这问题的原因是因为越狱安装了插件的原因.问题解决了,大家没有遇到类似的问题吗?问题出在大家都装了一个SBSettings的插件,解决办法就是在这个插件的ISO 5+ Notification ...
- MATLAB axes
本帖由MATLAB技术论坛(http://www.matlabsky.com)原创,更多精彩内容参见http://www.matlabsky.com axes ★★★★★ 功能 创建坐标系图形对象 语 ...
- C++全局变量的声明和定义
(1)编译单元(模块) 在VC或VS上编写完代码,点击编译按钮准备生成exe文件时,编译器做了两步工作: 第一步,将每个.cpp(.c)和相应的.h文件编译成obj文件: 第二步,将工程中所有 ...
- Android-Java第一课 内部类 (inner Class)
总所周知,Android系统基于Linux,内核和驱动都是使用C/C++语言做开发,但应用层一般使用 JAVA 语言开发.今天我们就来学习一下java的内部类. 内部类: 是一个编译时的概念,一旦编译 ...