
ACM中的java应用
发布日期:2021-05-14 13:34:51
浏览次数:13
分类:精选文章
本文共 5158 字,大约阅读时间需要 17 分钟。
Java BigInteger���BigDecimal���������������������
1. Java���������������
���Java������������������������������������BigInteger���BigDecimal���������������������������������������������������������������������������������������������������������Java���������������������������������������������
2. BigInteger���������������
2.1������������������
- add��� BigInteger add = new BigInteger.valueOf(5); add = add.add(new BigInteger.valueOf(3)); ���������8
- subtract���_uint subtract = new BigInteger.valueOf(5); subtract = subtract.subtract(new BigInteger.valueOf(3)); ���������2
- multiply���BigInteger multiply = new BigInteger.valueOf(5); multiply = multiply.multiply(new BigInteger.valueOf(3)); ���������15
- divide���BigInteger divide = new BigInteger.valueOf(45); divide = divide.divide(new BigInteger.valueOf(3)); ���������15
2.2������������������������
// ���������������������BigIntegerBigInteger number = BigInteger.valueOf(123); // ������������������// ���������������������BigInteger���������������BigInteger bigNumber = new BigInteger("123456789012345678901234567890");
2.3������������
- add method
String numberStr = "123456789"; // ���������������������BigInteger bigNumber = BigInteger.valueOf(numberStr);
2.4������������
- ������������������������������������BigInteger
BigInteger bigDecimal = new BigInteger("25", 10); // ���������������
3. BigDecimal������������
3.1������������
- ���������������
String valueString = "123.45";BigDecimal bigDecimal = new BigDecimal(valueString);
- ���������������
BigDecimal a = new BigDecimal("0.000123");BigDecimal b = new BigDecimal("0.001230");BigDecimal c = a.add(b);
������������������������������������
3.2������������������
- ������
BigDecimal a = new BigDecimal("1.3");BigDecimal b = new BigDecimal("2.6");BigDecimal c = a.add(b); // ���������4.0
- ������
BigDecimal number = new BigDecimal("9");BigDecimal result = number.divide(new BigDecimal("3")); // 3
3.3���������������������
- ������������
BigDecimal value = new BigDecimal("0.12345");value.setScale(4); // ���������������������������
- ������������������
BigDecimal rounded = value.divideAndMultiplyByTenThousands().setScale(0, RoundingMode.HALF_UP);
4. ���������������������������
4.1������������
import java.math.BigInteger;public class JieCheng { public static void main(String[] args) { int maxn = 10005; BigInteger result = BigInteger.valueOf(1); for (int i = 2; i <= maxn; i++) { result = result.multiply(BigInteger.valueOf(i)); } System.out.println(result); }}
4.2������������������
public class Fibonacci { static BigInteger fibonacci(int n) { if (n <= 4) return BigInteger.valueOf(1); BigInteger f1 = BigInteger.valueOf(1); BigInteger f2 = BigInteger.valueOf(1); BigInteger f3 = BigInteger.valueOf(1); BigInteger f4 = BigInteger.valueOf(1); if (n <= 4) return f1; for (int i = 5; i <= n; i++) { return f4; } } public static void main(String[] args) { while (true) { int n = scanner.nextInt(); BigInteger result = fibonacci(n); System.out.println(result); } }}
4.3���������
import java.math.BigDecimal;public class RecursiveNumber { public static BigDecimal calculate(int n) { if (n == 1) return BigDecimal.valueOf(1); BigDecimal a = calculate(n-1); BigDecimal b = calculate(n-2); BigDecimal c = calculate(n-3); return a.add(b); } public static void main(String[] args) { try { int input = Integer.parseInt(args[0]); BigDecimal result = calculate(input); System.out.println(result); } catch (NumberFormatException e) { System.out.println("���������������������"); } }}
5. ������������������������
import java.math.BigDecimal;import java.io.IOException;import java.util.Scanner;import java.ioenderror;public class OctalToDecimal { public static void main(String[] args) { try { while (true) { String str = scanner.nextLine(); int i, len = str.length(); BigDecimal temp, sum, ans, num; for (i = 2; i < len; i++) { int digit = str.charAt(i) - '0'; temp = BigDecimal.valueOf(8); sum = BigDecimal.ONE; num = BigDecimal.valueOf(digit); sum = sum.multiply(temp.pow(i-1)); ans = ans.add(num.divide(sum)); } System.out.println("���������������������" + str + ", ���������" + ans + "���������������"); } } catch (NumberFormatException | EndOutOfBoundsException e) { System.out.println("���������������������������������������������������"); } }}
6. ������
������������������������������������������BigInteger���BigDecimal������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������
发表评论
最新留言
路过按个爪印,很不错,赞一个!
[***.219.124.196]2025年04月15日 05时27分37秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
超级素数——蓝桥杯
2021-05-15
n的a进制数
2021-05-15
配置jdk的环境变量
2021-05-15
leetcode9.回文数
2021-05-15
【C++ Primer 第五版】 注释简介
2021-05-15
【C++ Primer 第五版】处理类型
2021-05-15
echo命令的颜色及同行显示控制
2021-05-15
CentOS7利用Systemd添加用户自定义系统服务
2021-05-15
Mycat入门
2021-05-15
懒人HTML5笔记-1
2021-05-15
两台服务器http方式共享yum软件仓库
2021-05-15
进程间同步
2021-05-15
io多路复用___select
2021-05-15
go web服务get pos
2021-05-15
团队背包(team)
2021-05-15
1376:信使(msner)
2021-05-15
简单方法实现无刷新提交Form表单
2021-05-15
天梯赛 L3 练习题(2)
2021-05-15
MYSQL数据库类型与JAVA类型对应表
2021-05-15
Java业务开发常见错误100例-极客时间笔记
2021-05-15