java 高精度 四则运算
java的大数处理对于ACM中的大数来说,相当的简单啊;
整数的运算 BigInteger
小数的运算 BigDecimal
导入类:
import java.util.Scanner;
import java.math.BigInteger;
import java.math.BigDecimal;
java 大数相除不能整除时会抛出异常,解决办法,设置精度;参见:java之BigDecimal
num1 = num1.divide(num2,10,BigDecimal.ROUND_HALF_EVEN);
System.out.println(num1);
算阶乘时也可用;
需要转化一下
int n = cin.nextInt() ;
BigInteger m = BigInteger.valueOf(1) ;
for(int i = 1;i<=n;i++){
m = m.multiply(BigInteger.valueOf(i)) ;//int 整形转化为 BigInteger 进行计算
}
System.out.println(m);
//输入两个大数进行加法运算 add() 相加
import java.util.Scanner;
import java.math.BigInteger;
public class dashu {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
BigInteger a,b;
a=input.nextBigInteger();
b=input.nextBigInteger();
System.out.println(a.add(b));
}
}
//输入两个大数相减 subtract () 相减
import java.util.*;
import java.math.BigInteger;
public class dashu {
public static void main(String args[]) {
Scanner input = new Scanner(System.in);
BigInteger num1 = input.nextBigInteger();
BigInteger num2 = input.nextBigInteger();
System.out.println(num1.subtract(num2));
}
}
//输入两个大数相乘 mulitiply () 相乘
import java.util.* ;
import java.math.BigInteger ;
public class dashu {
public static void main(String[] args) {
Scanner input = new Scanner(System.in) ;
BigInteger m,n;
m=input.nextBigInteger();
n=input.nextBigInteger();
m = m.multiply(n) ;
System.out.println(m);
}
}
//两个大数相除 divide() 相除 remainder() 余数
import java.util.*;
import java.math.BigInteger;
public class dashu {
public static void main(String args[]) {
Scanner input = new Scanner(System.in);
BigInteger num1 = input.nextBigInteger();
BigInteger num2 = input.nextBigInteger();
System.out.println(num1.divide(num2));//相除
System.out.println(num1.remainder(num2));//余数
}
}
java 高精度 四则运算的更多相关文章
- Java高精度学习第二弹——求N!
继续学习Java高精度,今天写的是求N!. 首先附上源代码: import java.util.Scanner; import java.math.BigInteger; public class M ...
- JAVA高精度模板
刚开始还坚持用C++写高精来着,后来发现JAVA写高精方便太多了,所以也来学习一下JAVA高精度的模板. 参考:https://www.cnblogs.com/imzscilovecode/p/883 ...
- java高精度实数和小数
java 高精度实数和小数 String s = "1231222222222222222222222222222222222222222222222222222222"; Big ...
- java高精度类尝试
java高精度尝试, poj2109,比较坑的题目 import java.io.*; import java.util.*; import java.math.*; public class Mai ...
- HDU 6207:Apple(Java高精度)
题目链接 题意 给出三个圆上的点,和一个目标的点,问目标点是否在这三个点构成的圆外面. 思路 许久没见过的Java高精度,不要加package!!! import java.math.BigDecim ...
- Java高精度基础+开根
在焦作站的acm网络赛中遇到了一个高精度开根的水题--但是那时候WA了 后面学写java补题还T了orz 所以写一篇文章来记录一下java的大整数类型的基础和开根还有一点心得体会吧 首先给那一题的题面 ...
- Java实现四则运算,使用堆栈,检查语法
突然发闲想试一试自己实现算术的四则运算,支持加减乘除和括号.正负号:支持语法检查:思路很常规,利用两个堆栈,一个压操作符,一个压操作数,念头冒出来之后,立马动手:然后本以为很容易的一个实现,却存在各种 ...
- Codeforces Gym 100418A A - A+-B java高精度
A - A+-BTime Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.hust.edu.cn/vjudge/contest/view.acti ...
- Java高精度学习第三弹——ACM中使用JAVA的详细介绍
Chapter I. Java的优缺点各种书上都有,这里只说说用Java做ACM-ICPC的特点: (1) 最明显的好处是,学会Java,可以参加Java Challenge . (2) 对于熟悉C/ ...
随机推荐
- C语言之动态分配内存
1. malloc()函数和free()函数 首先,我们应该知道.所有的程序都必须留出足够的内存空间来存储所使用的数据,所以我们常常会预先给程序开辟好内存空间,然后进行操作,但事实上另一种选择,能够让 ...
- 开源 免费 java CMS - FreeCMS1.5-数据对象-info
下载地址:http://code.google.com/p/freecms/ info 在信息页静态化时,系统会自动向模板文件传递currInfo对象,此对象存储当前信息.在使用信息相关标签时,标签会 ...
- go语言基础之获取命令行参数
1.获取命令行参数 示例: package main //必须 import "fmt" import "os" func main() { list := o ...
- 度量Web性能的关键指标
自网站诞生以来,响应速度/响应时间一直都是大家关心的话题,而速度慢乃是网站的一个杀手,正当大家以为四核和宽带能力的提升能够解决这些问题时,Wi-Fi和移动设备为热点移动互联网又悄然兴起. 在2006年 ...
- SSH免密码登陆以及穿越跳板机
1. 免密码直连 [user@hostA ~] $ssh hostB STEP1. 在hostA上生成RSA公钥私钥(在~/.ssh/下生成RSA私钥id_rsa,公钥id_rsa.pub) [us ...
- [AngularJS] Angular1.3 ngAria - 1
Accessibility is an often overlooked essential feature of a web application. a11y Is a critical comp ...
- 《javascript高级程序设计》读书笔记(一)javascript简单介绍
第一章:javascript简单介绍 Netscape Navigator 开发的javascript Javascript的实现有三部分: 1.核心(ECMAScript):提供核心语言功能. ...
- java通过反射调用不同参数的方法
import java.lang.reflect.Method; public class testReflect { /** * @param args */ public static void ...
- UNIX网络编程读书笔记:套接口选项
概述 有很多方法来获取和设置影响套接口的选项: getsockopt和setsockopt函数 fcntl函数 ioctl函数 getsockopt和setsockopt函数 这两个函数仅用于套接口. ...
- [Android exception] /data/app/com.tongyan.tutelage-1/lib/arm/libstlport_shared.so: has text relocations
java.lang.UnsatisfiedLinkError: dlopen failed: /data/app/com.tongyan.tutelage-1/lib/arm/libstlport_s ...