高精度算法【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. 二进制求和 

高精度减法

高精度乘法

高精度除法

(持续更新中~)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/195785.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CentOS 7 安装CMake指定版本3.21.2

背景&#xff1a;今天在CentOS 7 电脑上安装C 日志框架SpdLog-1.12.0&#xff0c;提示如下错误信息&#xff1a; [rootlocalhost build]# cmake .. && make -j CMake Error at CMakeLists.txt:3 (cmake_minimum_required):CMake 3.10...3.21 or higher is required. …

5 redis的GEO操作

一、GEO Redis 3.2版本提供了GEO(地理信息定位)功能&#xff0c;支持存储地理位置信息用来实现诸如附近位置、摇一摇这类依赖于地理位置信息的功能。 有效纬度从-85.05112878度到85.05112878度 注意&#xff1a;当坐标位置超出上述指定范围时&#xff0c;将会返回一个错误。 …

函数式编程框架 functionaljava 简介

文章目录 一、函数式编程起源二、functionaljava 框架简介 一、函数式编程起源 ​ 函数式编程起源于数理逻辑&#xff08;范畴论&#xff0c;Category Theory&#xff09;&#xff0c;起源于λ演算&#xff0c;这是一种演算法&#xff0c;它定义一些基础的数据结构&#xff0c…

【Java】网络编程基础—InetAddress类和URL编程

&#x1f33a;个人主页&#xff1a;Dawn黎明开始 &#x1f380;系列专栏&#xff1a;Java ⭐每日一句&#xff1a;为了那个远方&#xff0c;你要奋不顾身 &#x1f4e2;欢迎大家&#xff1a;关注&#x1f50d;点赞&#x1f44d;评论&#x1f4dd;收藏⭐️ 文章目录 一.&#x…

Python编程技巧 – 使用字符串(Strings)

Python编程技巧 – 使用字符串&#xff08;Strings) Python Programming Essentials – Using Strings 本文简要介绍如何使用字符串&#xff0c;来进行Python编程。字符串有很多用途&#xff0c;包括输出结果、反馈状态、数据处理以及切片和文本筛选等 1. 字符串 字符串(St…

Java21新增特性

版本介绍 Java 21是Java平台的一个新版本&#xff0c;于2023年9月19日由Oracle公司正式发布。这个版本包含了数千个性能、稳定性和安全性更新&#xff0c;以及几十个新功能和增强。其中&#xff0c;15个增强被赋予了自己的JDK增强提案&#xff08;JEP&#xff09;&#xff0c;…

基于SSM的北海旅游网站设计与实现

末尾获取源码 开发语言&#xff1a;Java Java开发工具&#xff1a;JDK1.8 后端框架&#xff1a;SSM 前端&#xff1a;采用JSP技术开发 数据库&#xff1a;MySQL5.7和Navicat管理工具结合 服务器&#xff1a;Tomcat8.5 开发软件&#xff1a;IDEA / Eclipse 是否Maven项目&#x…

CICD 持续集成与持续交付——jenkins

部署 软件下载&#xff1a;https://mirrors.tuna.tsinghua.edu.cn/jenkins/redhat/ [rootcicd2 ~]# rpm -ivh jdk-11.0.15_linux-x64_bin.rpm[rootcicd2 ~]# yum install -y fontconfig[rootcicd2 ~]# rpm -ivh jenkins-2.432-1.1.noarch.rpm启动服务 [rootcicd2 ~]# systemctl…

python线程和进程

文章目录 版权声明多任务并发概念并行概念 进程多线程的作用进程的创建步骤通过进程类创建进程对象进程执行带有参数的任务获取进程杀死进程进程间不共享全局变量主进程和子进程的结束顺序设置守护进程销毁子进程 线程线程的创建步骤通过线程类创建线程对象线程执行带有参数的任…

T10 数据增强

文章目录 一、准备环境和数据1.环境2. 数据 二、数据增强&#xff08;增加数据集中样本的多样性&#xff09;三、将增强后的数据添加到模型中四、开始训练五、自定义增强函数六、一些增强函数 &#x1f368; 本文为&#x1f517;365天深度学习训练营 中的学习记录博客&#x1f…

数据结构【DS】队列

队列&#xff1a;只允许在表尾(队尾)进行插入&#xff0c;而在表头(队头)进行删除的线性表。 循环队列 初始(队空)时&#xff1a; &#x1d478;.&#x1d487;&#x1d493;&#x1d490;&#x1d48f;&#x1d495;&#x1d478;.&#x1d493;&#x1d486;&#x1d482;&am…

H110主板搭配魔改QNCW升级小记

最近搬家完毕&#xff0c;翻出来一块闲置已久的qncw&#xff0c;隐约记得是买的主板套装&#xff0c;现在主板早已不知踪影&#xff0c;剩下孤零零一个CPU&#xff0c;一起翻出来一个G3900T亮机CPU&#xff0c;应该是同时代的产物。 qncw百度上一搜&#xff0c;发现参数还行&am…