新闻详情

新闻详情

首页 / 资讯中心 / 详情

东方博宜OJ 1946:高精度减法3 ← 高精度加法+高精度减法

发布时间:2026/9/27 22:54:55来源:尧图网络
东方博宜OJ 1946:高精度减法3 ← 高精度加法+高精度减法
【题目来源】https://oj.czos.cn/p/1946【题目描述】处理两个高精度数的减法。(1000位内)【输入格式】两行每行一个整数。可能为负数负号用“-”表示【输出格式】一个整数即两个数相减的结果。​​​​​​​【输入样例】2345678901234123456789012345​​​​​​​【输出样例】-121111110111111​​​​​​​【数据范围】1000位内的整数。【算法分析】● 注意输入的数可能是负数● substr 函数的用法1s.substr(i)从 i 开始取到末尾。2s.substr(i, k)从 i 开始取 k 个字符。【算法代码】#include bits/stdc.h using namespace std; string trim(string s) { //remove_leading_zero int i0; while(is.size()-1 s[i]0) i; return s.substr(i); } bool cmp(string a, string b) { if(a.size()!b.size()) return a.size()b.size(); for(int i0; ia.size(); i) { if(a[i]!b[i]) return a[i]b[i]; } return true; //ab } string hiSub(string a,string b) { string c; int t0; int ia.size()-1, jb.size()-1; while(i0 || j0) { if(i0) t(a[i]-0)-t; if(j0) t-(b[j]-0); c((t10)%100); t0?t1:t0; i--, j--; } while(c.size()1 c.back()0) c.pop_back(); reverse(c.begin(),c.end()); return c; } string hiAdd(string a,string b) { string c; int t0; int ia.size()-1,jb.size()-1; while(i0 || j0) { if(i0) t(a[i]-0)t; if(j0) t(b[j]-0); c(t%100); t/10; i--,j--; } if(t!0) c(t0); reverse(c.begin(),c.end()); return c; } int main() { string s1,s2; cins1s2; bool f1(s1[0]-); bool f2(s2[0]-); string atrim(f1?s1.substr(1):s1); string btrim(f2?s2.substr(1):s2); string ans; if(!f1 !f2) { //a-b if(cmp(a,b)) anshiSub(a,b); else ans-hiSub(b,a); } else if(!f1 f2) { //a-(-b)ab anshiAdd(a,b); } else if(f1 !f2) { //-a-b-(ab) ans-hiAdd(a,b); } else { //-a-(-b)b-a if(cmp(b,a)) anshiSub(b,a); else ans-hiSub(a,b); } //eliminate -0 if(ans[0]- trim(ans.substr(1))0) ans0; coutansendl; return 0; } /* in: 2345678901234 123456789012345 out: -121111110111111 */【参考文献】https://blog.csdn.net/hnjzsyjyj/article/details/144661288https://blog.csdn.net/hnjzsyjyj/article/details/144703201
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

鼠大侠网络验证系统源码解析:一机一码授权验证与心跳机制实现 2026/9/27 23:47:55

鼠大侠网络验证系统源码解析:一机一码授权验证与心跳机制实现

简介:鼠大侠网络验证系统源码是一套面向软件开发者与独立作者的授权验证解决方案,采用一机一码机制,帮助解决软件防破解、防账号共享与多开等常见问题,客户端对接简单,支持多种开发语言接入。资源包共114个文件&#x…

阅读更多 →
合成双重差分SDID:从DID到SCM的融合与Stata实操指南 2026/9/27 23:47:55

合成双重差分SDID:从DID到SCM的融合与Stata实操指南

1. 从双重差分到合成双重差分:为什么需要SDID做过政策评估的人都知道,双重差分(DID)是最常用的因果推断工具之一。它的逻辑很朴素:找一个受政策影响的处理组,再找一个没受影响的对照组,比较两组…

阅读更多 →
Uniapp与Uniapp X核心差异解析:从架构到迁移的实战指南 2026/9/27 23:47:49

Uniapp与Uniapp X核心差异解析:从架构到迁移的实战指南

1. 从一次真实的项目踩坑说起去年年底我接手了一个老项目的重构,代码是五年前用 Uniapp 写的,跑在微信小程序和 App 两端。功能不算复杂,但代码量堆到了十几万行,vue2的选项式写法混着大量mixins,状态管理用的是vuex&a…

阅读更多 →
AssetRipper 完整指南:Unity 游戏资产逆向与资源提取全流程 2026/9/27 23:47:49

AssetRipper 完整指南:Unity 游戏资产逆向与资源提取全流程

AssetRipper 完整指南:Unity 游戏资产逆向与资源提取全流程 【免费下载链接】AssetRipper GUI application to analyze game files 项目地址: https://gitcode.com/GitHub_Trending/as/AssetRipper 拿到一个打包好的 Unity 游戏,第一个问题往往是…

阅读更多 →
杭州seo网站建设网络服务图解步骤解决拖期痛点 2026/9/27 23:47:35

杭州seo网站建设网络服务图解步骤解决拖期痛点

杭州seo网站建设网络服务图解步骤解决拖期痛点 改个需求建站公司拖一周,这简直是杭州互联网圈最让人血压升高的场景。明明只是换个首页Banner或者调整一下产品列表的排序,对方却以“测试环境不稳定”或“服务器资源占用高”为由,把工期无限拉长。…

阅读更多 →
SpringBoot+Vue图书馆管理系统源码拆包:从环境搭建到前后端联调全流程 2026/9/27 23:47:29

SpringBoot+Vue图书馆管理系统源码拆包:从环境搭建到前后端联调全流程

简介:这是一套基于Vue.js与SpringBoot的图书馆管理系统完整源码,面向Java Web初学者、课程设计或毕业设计开发者,帮助快速搭建前后端分离的图书管理项目。压缩包共152个文件,约11.79MB,包含19个Java后端类、14个Vue组件…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉