当前位置: 首页 > news >正文

高精度算法【Java】(待更新中~)

高进度加法

        在Java中可以使用BigInteger进行高精度计算,除此也可以仿照竖式相加的计算原理进行计算。

BigInteger 提供所有 Java 的基本整数操作符的对应物,并提供 java.lang.Math 的所有相关方法。另外,BigInteger 还提供以下运算:模算术、GCD 计算、质数测试、素数生成、位操作以及一些其他操作.

核心思想:

        将两个数转为字符数组,都倒序后,进行对应位相乘,将有进位的值加到下次计算中。

 

 算法实现:

import java.util.Scanner;public class GJD_addition {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);char[] a = scanner.next().toCharArray();char[] b = scanner.next().toCharArray();int la = a.length;int lb = b.length;int lc = Math.max(la,lb)+1;int[] c = new int[lc];//将两个数组转置,并将元素转为数字int[] s1 = new int[lc];int[] s2 = new int[lc];for (int i = 0; i < la; i++) {s1[la-i-1] = a[i]-'0';}for (int i = 0; i < lb; i++) {s2[lb-i-1] = b[i]-'0';}//进行加法for (int i = 0; i < lc-1; i++) {c[i] += s1[i]+s2[i];c[i+1] = c[i]/10;c[i] = c[i]%10;}if (c[lc-1]==0){lc--;}for (int i =lc-1; i >=0; i--) {System.out.print(c[i]);}}
}

相关力扣题:

2. 两数相加

LCR 025. 两数相加 II

 和

445. 两数相加 II

67. 二进制求和 

高精度减法

高精度乘法

高精度除法

(持续更新中~)

相关文章:

  • Selenium UI 自动化
  • ubuntu安装完qt后发现找不到图标
  • 三十分钟学会Hive
  • 电子学会C/C++编程等级考试2022年03月(一级)真题解析
  • AIGC之Stable Diffusion
  • 关于Hbase的一些问题
  • <b><strong>,<i><em>标签的区别
  • STM32CubeMX学习笔记-CAN接口使用
  • PS学习笔记——移动工具
  • MongoDB随记
  • 节点导纳矩阵
  • 100天精通Python(可视化篇)——第108天:Pyecharts绘制多种炫酷词云图参数说明+代码实战
  • Vue3 shallowRef 和 shallowReactive
  • 机器学习笔记 - 了解常见开源文本识别数据集以及了解如何创建用于文本识别的合成数据
  • 使用Flink处理Kafka中的数据_题库子任务_Java语言实现
  • [数据结构]链表的实现在PHP中
  • 07.Android之多媒体问题
  • bearychat的java client
  • ES2017异步函数现已正式可用
  • Essential Studio for ASP.NET Web Forms 2017 v2,新增自定义树形网格工具栏
  • GitUp, 你不可错过的秀外慧中的git工具
  • input实现文字超出省略号功能
  • iOS帅气加载动画、通知视图、红包助手、引导页、导航栏、朋友圈、小游戏等效果源码...
  • JAVA之继承和多态
  • js算法-归并排序(merge_sort)
  • Netty 4.1 源代码学习:线程模型
  • Promise面试题2实现异步串行执行
  • React组件设计模式(一)
  • SpringCloud(第 039 篇)链接Mysql数据库,通过JpaRepository编写数据库访问
  • Storybook 5.0正式发布:有史以来变化最大的版本\n
  • WebSocket使用
  • 从零开始的webpack生活-0x009:FilesLoader装载文件
  • 七牛云 DV OV EV SSL 证书上线,限时折扣低至 6.75 折!
  • 悄悄地说一个bug
  • 使用 QuickBI 搭建酷炫可视化分析
  • 详解移动APP与web APP的区别
  • ​Linux·i2c驱动架构​
  • !!java web学习笔记(一到五)
  • #Linux杂记--将Python3的源码编译为.so文件方法与Linux环境下的交叉编译方法
  • (02)Hive SQL编译成MapReduce任务的过程
  • (C#)Windows Shell 外壳编程系列9 - QueryInfo 扩展提示
  • (C#)获取字符编码的类
  • (cljs/run-at (JSVM. :browser) 搭建刚好可用的开发环境!)
  • (C语言)fgets与fputs函数详解
  • (附源码)springboot金融新闻信息服务系统 毕业设计651450
  • (附源码)ssm码农论坛 毕业设计 231126
  • (转)C语言家族扩展收藏 (转)C语言家族扩展
  • (转)socket Aio demo
  • (转)真正的中国天气api接口xml,json(求加精) ...
  • ****** 二 ******、软设笔记【数据结构】-KMP算法、树、二叉树
  • .Net Attribute详解(上)-Attribute本质以及一个简单示例
  • .NET Core WebAPI中使用Log4net 日志级别分类并记录到数据库
  • .net core 实现redis分片_基于 Redis 的分布式任务调度框架 earth-frost
  • .NET(C#) Internals: as a developer, .net framework in my eyes
  • .Net中的设计模式——Factory Method模式