- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
10高精度计算
高精度计算 Task: 高精度加法 高精度减法 高精度乘法 高精度乘单精度 高精度乘高精度 高精度除法 高精度除单精度 高精度除高精度 Problem 1:a+b=? 输入:a b 输出:a+b的和 输入输出样例: Input: 1 2 Input:1234567890 8765432109 Output:3 Output:9999999999 PS: int32: -2147483648..2147483647 uint32:0..4294967295 Problem 1:a+b=? 观察人工计算的方法:竖式加法 223 + 996 ----------- 9 3+6=9 1 2+9=11,当前位1,进位1 2 2+9+1=12,当前位2,进位1 1 进位的1 ----------- 1219 例题1:高精度加法1553 1、高精度数的存储,用字符串读入 2、高精度加法 3、高精度结果的输出 Problem 2:a-b=? 竖式减法: 927 - 896 ----------- 1 7-6=1 3 12-9=3,借位12 0 (9-1)-8=0 ----------- 31 例题2:高精度减法1554 1、高精度数比较 2、高精度减法 Problem 3:a*b=? 竖式乘法: 1. 高精度乘单精度,比如12345*9=? 12345 * 9 -------------- 45 5*9=45 36 4*9=36 27 3*9=27 18 2*9=18 + 9 1*9=9 -------------- 111105 高精度数乘以单精度 Problem 3:a*b=? 竖式乘法: 2. 高精度乘高精度,比如12345*12345=? 问题转化为若干个高精度乘单精度之和 例题3:高精度乘法1555 高精度数乘以高精度 Problem 4:a/b=? 竖式除法 36 12345 √ 452678 37035 12345*3=37035 8232 45267-37035=8232 82328 下一位再次减法 74070 12345*6=74070 8258 82328-74070=8258 余数 例题4:高精度除单精度1556 高精度数除以单精度 高精度数除以单精度----优化 例题5:高精度除高精度1557 高精度除高精度 例题6:求n! 1570 例题7:回文数(NOIP1999普及)1267 【问题描述】输入两个整数x,y,输出它们的和。 【文件输入】输入两个整数x,y(0=x,y=10^100) 【文件输出】输出它们的和 【样例输入】 123 234 【样例输出】357 void init(int a[]) { string s; cins; //读入字符串s a[0]=s.length(); //用a[0]计算字符串s的位数 for(i=1;i=a[0];i++)a[i]=s[a[0]-i]-0; //将数串s转换为数组a,并倒序存储. } void jia(int a[],int b[]) //计算a=a+b { int i,k; if(a[0]b[0])a[0]=b[0]; //确定加法最大位数 for(i=1;i=a[0];i++)a[i]+=b[i]; //逐位相加 for(i=1;i=a[0];i++) { a[i+1]+=a[i]/10; a[i]%=10; } //处理进位 if(a[a[0]+1]0)a[0]++;//修正a的位数(a+b最多只能进一位) } void print(int a[]) //打印输出 { int i; if(a[0]==0){cout0endl;return;} for(i=a[0];i=1;i--)couta[i]; coutendl; } 提示:注意是大数减小数 Description 输入两个整数x,y,输出它们的差x-y。 Input 输入两个整数x,y(0 = x,y
您可能关注的文档
- 新给水除氧.ppt
- 4-5 波导.ppt
- 第5课 Photoshop 文字图层.ppt
- 声速测量方法.ppt
- 第五章 对流换热概述.pptx
- 第139138号第三节 组成地壳的岩石(新)上课版.ppt
- 对流换热PPT.ppt
- PhotoShop CS4第10章文字的输入、编辑与美化.ppt
- 对流换热部分习题.ppt
- 热对流.ppt
- 2026华泰证券Fintech金融科技人才专场校园招聘笔试备考试题及答案解析.docx
- 2026江苏辖区农村商业银行江阴农村商业银行校园招聘85人笔试备考试题及答案解析.docx
- 2025下半年广东中山市检察机关招聘劳动合同制司法辅助人员11人笔试模拟试题及答案解析.docx
- 2025西安辛家庙社区卫生服务中心招聘笔试参考题库附答案解析.docx
- 2026建发致新校园招聘笔试备考试题及答案解析.docx
- 2025西双版纳州景洪市文化和旅游局招聘城镇公益性岗位人员(2人)笔试参考题库附答案解析.docx
- 2026江苏辖区农村商业银行张家港农村商业银行校园招聘80人笔试备考试题及答案解析.docx
- 2026临沂市郯城邮政招聘笔试备考试题及答案解析.docx
- 2025下半年国家矿山安全监察局四川局下属事业单位考试招聘5人笔试模拟试题及答案解析.docx
- 2025西北工业大学航天学院空天光机电与多学科一体化团队招聘1人(陕西)笔试参考题库附答案解析.docx
文档评论(0)