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. ...
随机推荐
- ZOJ 3652 Maze 模拟,bfs,读题 难度:2
http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=4842 要注意题目中两点: 1.在踏入妖怪控制的区域那一刹那,先减行动力,然后才 ...
- IT公司100题-15-求二元查找树的镜像
问题描述: 输入一颗二元查找树,将该树转换为它的镜像树,即对每一个节点,互换左右子树. 例如输入: 6/ \4 12/ \ / \2 5 8 16 输出: 6/ ...
- JSP中的EL
1.为什么要使用EL 使用<jsp:getProperty>,只能访问bean属性的性质,不能访问嵌套性质.例如一个含有Dog对象的Person对象. 当然使用脚本可以工作,但是如果不想使 ...
- Sublime Text 3 插件安装
1.安装 Package Control 组件 sublime菜单栏->view->show console: 输入以下命令回车: import urllib.request,os; pf ...
- 戴文的Linux内核专题:05配置内核(1)
转自Linux中国 现在我们已经了解了内核,现在我们可以进入主要工作:配置并编译内核代码.配置内核代码并不会花费太长时间.配置工具会询问许多问题并且允许开发者配置内核的每个方面.如果你有不确定的问题或 ...
- Spring依赖关系
在Spring中,各个模块的依赖关系通过简单的IoC配置文件进行描述,使这些外部化的信息集中并且明了,我们在使用其他组件服务时,只需要去配置文件中了解和配置这些依赖关系即可,也就是说这里关心的是接口, ...
- Apache Ant运行时Unable to locate tools.jar解决方法
下载Apache Ant 一.解压ant安装包在D:\ant下 二.环境变量配置 ANT_HOME D:\ant\apache-ant-1.9.0 CLASSPATH ;%ANT_HOME%lib; ...
- idea修改jsp后不会自动编译和替换(转)
使用IntelliJ IDEA开发JavaWeb项目时,修改了JSP后刷新浏览器无法及时显示修改后的页面? 解决办法:tomcat配置中,On frame deactivation属性选择Update ...
- poj2392 多重背包
//Accepted 868 KB 188 ms //多重背包 #include <cstdio> #include <cstring> #include <iostre ...
- 另类加载dll---快捷方式启动参数
http://blogs.360.cn/360safe/2014/08/29/cnc_trojan_and_fake_proto/ 原文: BMP1和BMP2是两个lnk文件(快捷方式),我们知道bm ...