当前位置: 首页 > 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. 二进制求和 

高精度减法

高精度乘法

高精度除法

(持续更新中~)

http://www.lryc.cn/news/237231.html

相关文章:

  • 说一说HTTP1.0、1.1、2.0版本区别和优化
  • 51.Sentinel微服务保护
  • 【Java 进阶篇】Ajax 实现——JQuery 实现方式 `ajax()`
  • I.MX6ULL开发笔记(一)——环境搭建、镜像烧录、网络连接
  • Javaweb之Ajax的详细解析
  • java基于RestTemplate的微服务发起http请求
  • django理解02 前后端分离中的问题
  • 设计模式-迭代器模式-笔记
  • 【数据结构】C语言实现队列
  • 牛客——OR36 链表的回文结构(C语言,配图,快慢指针)
  • Docker build 技巧 —— 筑梦之路
  • 2 Redis的高级数据结构
  • Hive默认分割符、存储格式与数据压缩
  • update_engine-FilesystemVerifierAction和PostinstallRunnerAction
  • 深度学习乳腺癌分类 计算机竞赛
  • 【Python百宝箱】掌握Python Web开发三剑客:Flask、Django、FastAPI一网打尽
  • 【人工智能时代的刑法体系与责任主体概述】
  • 透视maven打包编译正常,intellj idea编译失败问题的本质
  • npm报错
  • 【FFmpeg实战】ffmpeg播放器-音视频解码流程
  • 基于SSM的高校毕业选题管理系统设计与实现
  • 一个简单的Oracle Redaction实验
  • getchar函数的功能有哪些
  • 信息机房监控系统(动环辅助监控系统)
  • 最强英文开源模型Llama2架构与技术细节探秘
  • 编程刷题网站以及实用型网站推荐
  • 基于STC12C5A60S2系列1T 8051单片机的SPI总线器件数模芯片TLC5615实现数模转换应用
  • 【并发编程】Synchronized的使用
  • 【Python】Python基础
  • gitlab环境准备