b站视频:https://www.bilibili.com/video/BV1LA411v7mt?t=348&p=2
洛谷测题:https://www.luogu.com.cn/problem/P2142

题目描述
高精度减法。

输入格式
两个整数 a,ba,b(第二个可能比第一个大)。

输出格式
结果(是负数要输出负号)。

输入输出样例
输入 #1
2
1

输出 #1
1

import java.util.Scanner;public class Main {//将输入得两个字符串s1 ->  字符数组num1[]  -> 转至后得字符数组end_num1[] public static void main(String[] args) {Scanner inScanner = new Scanner(System.in);String s1 = inScanner.next();String s2 = inScanner.next();boolean flag = false;//判断两个数是否有交换//1.根据长度判断数字的大小,保证大的在是s1if(s1.length() < s2.length()) {flag = true;String temp = s1;s1 = s2;s2 = temp;}//2.如果两个字符串的长度相同,便逐个比较大小if(s1.length() == s2.length())for(int i = 0 ; i < s1.length();i++) {int s1_high = (int)s1.charAt(i);int s2_high = (int)s2.charAt(i);if(s1_high == s2_high) continue;else if(s2_high > s1_high) {flag = true;String temp = s1;s1 = s2;s2 = temp;break;}            }//3.字符串 -> 字符数组char[] num1 = s1.toCharArray();char[] num2 = s2.toCharArray();//4.字符数组 -> 转至新数组( index:1-s1.length()-1 )int[] end_num1 = new int[10088];int[] end_num2 = new int[10088];for(int i = 0; i < s1.length(); i++)end_num1[s1.length()-i] = num1[i] -'0';for(int i = 0; i < s2.length(); i++)end_num2[s2.length()-i] = num2[i] -'0';//5.定义最后结果的数组,index:1开始int end_len = s1.length()+1;int[] end_num3 = new int[end_len];for(int i = 1; i < end_len; i++) {if(end_num1[i] < end_num2[i]) {end_num1[i]+=10;end_num1[i+1]--;}end_num3[i] = end_num1[i] - end_num2[i];}//去掉前驱0int index = end_len-1;while(end_num3[index] == 0 && index > 1) {index--;}//如果有交换两个数,便证明s1<s2,输出负号if(flag) System.out.print("-");for(int i = index ; i > 0; i--)System.out.print(end_num3[i]);}
}

洛谷:P2142 高精度减法相关推荐

  1. 高精度减法(洛谷-P2142)

    题目描述 高精度减法 输入输出格式 输入格式: 两个整数a,b(第二个可能比第一个大) 输出格式: 结果(是负数要输出负号) 输入输出样例 输入样例#1: 2 1 输出样例#1: 1 源代码 #inc ...

  2. 洛谷专题训练 ——【算法1-1】模拟与高精度

    洛谷题单[算法1-1]模拟与高精度 ACM-ICPC在线模板 题单链接: [算法1-1]模拟与高精度 下面的这一坨都是洛谷题单上的东东 题单简介 恭喜大家完成了第一部分语言入门,相信大家已经可以使用 ...

  3. 高精度——A+B Problem(洛谷 P1601)

    高精度算法指的是可以计算很大整数的高精度运算的方法 此题选自洛谷P1601 用数组来模拟非常长的整数,这意味着可以用数组的每一位记录那个数字上的每一位. 也就是说,可以用n位数组来记录一个n位数字. ...

  4. 洛谷算法题单:模拟与高精度例题(上)

    一:模拟 想要利用计算机解决现实生活中的一些复杂的问题时,建立模型是解决问题的关键. 举个生活中常见的例子:我们拿到了某次数学考试的成绩单,现在需要知道谁考得最好.当然不能把成绩单对着电脑晃一晃,然后 ...

  5. (快速幂算法+高精度)洛谷P1045 麦森数

    前言   故事的最后,让我们以一道十分经典的题目--<麦森数>来结尾.接受现实吧,总会有我们没准备过的高精度运算出现.我们固然可以提前把高精度的快速幂模板也准备好,但是总会有百密一疏的时候 ...

  6. 递推+高精度——蜜蜂路线(洛谷 P2437)

    题目选自洛谷P2437 思路和斐波那契一样,不过特判a[0][1]=0a[1[1]=1,a[2][1]=1,之后,a[i][j]=a[i-1][j]+a[i-2][j],这是主要公式,为什么开二维数组 ...

  7. python高精度乘法_洛谷P1919--A*B Problem升级版(NTT优化高精度乘法)

    题目背景 本题数据已加强,请使用 FFT/NTT,不要再交 Python 代码浪费评测资源. 题目描述 给你两个正整数 a,b,求$ a \times b$. 输入格式 第一行一个正整数,表示 a: ...

  8. 洛谷算法题单:模拟与高精度例题(下)

    接着上篇的例题. 1.洛谷P4924魔法少女小Scarlet 题目描述: Scarlet最近学会了一个数组魔法,她会在n∗n二维数组上将一个奇数阶方阵按照顺时针或者逆时针旋转90°, 首先,Scarl ...

  9. 洛谷 - 试炼场(全部题目备份)

    整理的算法模板合集: ACM模板 目录 1.新手村 1 - 1 洛谷的第一个任务 1 - 2 顺序与分支 1 - 3 循环!循环!循环! 1 - 4 数组 1 - 5 简单字符串 1 - 6 过程函数 ...

  10. 快速幂||取余运算【模板】(洛谷P1226题题解,Java语言描述)

    题目要求 P1226题目链接 分析 标准的快速幂取模算法板子,之前这个算法我在这篇文章中讲过了:<快速幂算法详解&&快速幂取模算法详解>. 这里选择使用比较简单的API实现 ...

最新文章

  1. “package ‘ElemStatLearn‘ is not available for this version of R
  2. Spring Boot + Redis 实现接口幂等性 | 分布式开发必知!
  3. muduo之AsyncLogging
  4. java安装cab破损,WCELOAD无法安装压缩的CAB文件
  5. elementui更改el-table表头背景颜色和字体颜色
  6. 次短路 Yen氏算法 凸包
  7. HierarchicalDataTemplate中的ContextMenu的Command绑定
  8. ajax卡死new formdata(),使用FormData和jQuery上传Ajax大文件无法发布数据
  9. linux Enterprise5 添加删除程序无法正常使用 解决
  10. 17 行代码实现的简易 Javascript 字符串模板
  11. 超过10%的 Firebase 数据库易受攻击并暴露数据
  12. rust木炭有用吗_如何看待 Rust 这门语言?
  13. 怎么把ide改成ahci_小科普 | 老电脑不重装系统,硬盘IDE模式如何改成AHCI?
  14. Excel:筛选后序号自动排序。
  15. 音视频技术开发周刊 | 241
  16. fopen()的rb+和rw+ (文件操作的小坑)
  17. 老男孩爬虫实战密训课第一季,2018.6,初识爬虫训练-实战2-自动登陆抽屉网
  18. iOS开发——仿微信图片浏览交互的实现(向下拖拽图片退出图片浏览器)
  19. 机器学习实战----贝叶斯之概览篇
  20. 国A级和国AA级代表什么意思呢?2022年护眼灯选国A还是国AA好

热门文章

  1. 网络安全与网站安全及计算机安全:如何通过Kali Linux设置一个钓鱼安全测试网站?
  2. 常用开发板接口执行器
  3. 推荐一款博客备份工具!
  4. 股票交易接口-Java封装
  5. 单片机Fault故障常见应对办法
  6. codeforces949D Curfew
  7. Log Parser Lizard(日志分析工具)v6.7.1官方版
  8. 图片加载oom以及photoView缩放崩溃问题
  9. TCP 三次握手和四次挥手,中间失败了会发生什么?
  10. oracle 包头 和 包体,PL/SQL 包头和包体