[NOIP教案]高精度计算ppt.ppt_第1页
[NOIP教案]高精度计算ppt.ppt_第2页
[NOIP教案]高精度计算ppt.ppt_第3页
[NOIP教案]高精度计算ppt.ppt_第4页
[NOIP教案]高精度计算ppt.ppt_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

高精度计算 高精度计算 2 减法 1 输入 高精度计算 加法 乘法 2 保存 3 长度预处理 4 计算 5 输出 1 输入 2 保存 3 长度预处理 4 计算 5 输出 1 输入 2 保存 3 长度预处理 4 计算 5 输出 Contents AddYourTextinhere AddYourTextinhere AddYourTextinhere AddYourTextinhere AddYourTextinhere 高精度加法 1 以字符数组读入 charst1 501 st2 501 scanf s st1 scanf s st2 高精度加法 2 倒序保存在数字数组中 inta 501 b 501 i len1 len2 memset a 0 sizeof a memset b 0 sizeof b len1 strlen st1 for i 1 i len1 i a i st1 len1 i 48 len2 strlen st2 for i 1 i len2 i b i st2 len2 i 48 高精度加法 3 长度预处理 加法 长度为a b中较长的那位 放入len1中 if len1 len2 len1 len2 高精度加法 4 计算 for i 1 i len1 i a i a i b i a i 1 a i 1 a i 10 a i 10 进位 i 1位上原有的值 处理最高位a len1 上是否有值 确认长度为len1 还是len1 1位 if a len1 1 0 len1 高精度加法 5 输出 for i len1 i 1 i printf d a i 高精度加法 include include includeusingnamespacestd intmain inta 501 b 501 i len1 len2 charst1 501 st2 501 memset a 0 sizeof a memset b 0 sizeof b scanf s st1 len1 strlen st1 for i 1 i0 len1 for i len1 i 1 i printf d a i return0 高精度减法 1 以字符数组读入 由于后面要进行比较两个高精度数的大小 故建议存放在字符串中 charst1 501 st2 501 strings1 s2 s intlen1 len2 temp scanf s st1 s1 st1 len1 s1 size scanf s st2 s2 st2 len2 s2 size If len1 len2 len1 len2 高精度减法 2 倒序保存在数字数组中 inta 501 b 501 i memset a 0 sizeof a memset b 0 sizeof b for i 1 i len1 i a i s1 len1 i 48 for i 1 i len2 i b i s2 len2 i 48 高精度减法 3 长度 len1 高精度减法 4 计算 for i 1 i len1 i if a i b i a i 1 a i 10 a i a i b i 借位 高位上有可能有多个0 while a len1 0 高精度减法 5 输出 for i len1 i 1 i printf d a i 高精度减法 include include include includeusingnamespacestd intmain inta 501 b 501 i len1 len2 temp charst1 501 st2 501 strings1 s2 s memset a 0 sizeof a memset b 0 sizeof b scanf s st1 s1 st1 len1 s1 size scanf s st2 s2 st2 len2 s2 size if len11 len1 for i len1 i 1 i printf d a i return0 高精度乘法 一 1 以字符数组读入 charst1 501 st2 501 scanf s st1 scanf s st2 乘法的输入和保存跟加法完全一样 只是需要多定义一个C数字数组 用于存放最终的乘积 高精度乘法 一 2 倒序保存在数字数组中 inta 501 b 501 c 501 i j len1 len2 lenc memset a 0 sizeof a memset b 0 sizeof b memset c 0 sizeof c len1 strlen st1 for i 1 i len1 i a i st1 len1 i 48 len2 strlen st2 for i 1 i len2 i b i st2 len2 i 48 高精度乘法 一 3 长度 a的长度为len1 b的长度为len2 高精度乘法 一 4 计算 for i 1 i len1 i for j 1 j len2 j c i j 1 c i j 1 a i b j c i j c i j c i j 1 10 c i j 1 10 进位 确认c数组的长度 lenc len1 len2 while c lenc 0 高精度乘法 一 5 输出 for i lenc i 1 i printf d c i 2020 3 16 21 可编辑 高精度乘法 一 include include includeusingnamespacestd intmain inta 501 b 501 c 501 i j len1 len2 lenc charst1 501 st2 501 memset a 0 sizeof a memset b 0 sizeof b memset c 0 sizeof c scanf s st1 len1 strlen st1 for i 1 i1 lenc for i lenc i 1 i printf d c i return0 高精度乘法 二 单个的整数x 0 x 1000 乘以一个高精度整数 1 高精度数和x的输入与保存 与之前的输入保存一致 inta 501 i len x charst 501 memset a 0 sizeof a scanf d 高精度乘法 二 2 计算 for i 1 i len i a i a i x for i 1 i len i a i 1 a i 1 a i 10 a i 10 进位 确认a数组的长度 len while a len 9 a len 1 a len 10 a len 10 len 高精度乘法 二 3 输出 for i len i 1 i printf d a i 高精度乘法 二 include include includeusingnamespacestd intmain inta 501 i len x charst 501 memset a 0 sizeof a scanf d x scanf s st len strlen st for i 1 i9 a len 1 a len 10 a len 10 len for i len i 1 i printf d a i return0 练习 1 P150例1 62 P153第7题 3 P152页第1题 高精度计算 高精度计算 1 以字符数组读入 charst1 501 scanf s st1 2 倒序保存在数字数组中 inta 501 I len1 len1 strlen st1 for i 1 i len1 i a i st1 len1 i 48 做减法时 可再放入字符串S1strings1 s1 st1 加法与乘法 定义 intI j len1 len2 a 501 b 501 charst1 501 st2 501 memset a 0 sizeof a scanf s st1 len1 strlen st1 for i 1 i len1 i a i st1 len1 i 48 memset b 0 sizeof b Scanf s st2 Len2 strlen st2 For i 1 i len2 i b i st2 len2 i 48 strings1 s1 s scanf s st1 scanf s st2 s1 st1 s2 st2 len1 s1 size len2 s2 size if len1 len2 len1 len2 减法 3 长度预处理 加法 长度为a b中较长的那位 放入len1中 If len1 len2 len1 len2 减法 长度最多为len1 乘法 a的长度为len1 b的长度为len2 结果放入c数组 其长度最多为len1 len2 4 计算 for i 1 i0 len1 for i 1 i1 len1 for i 1 i len1 i for j 1 j len2 j c i j 1 c i j 1 a i b j c i j c i j c i j 1 10 c i j 1 10 lenc len1 len2 while c lenc 0 lenc 加法 减法 乘法 5 输出 for i lenc i 1 i printf d c i for i len1 i 1 i printf d a i 加法和减法 乘法 高精度除法 高精度除低精 1 高精度数以字符数组读入 charst 501 intx scanf s st1 scanf d 2 顺序保存在数字数组中 inta 501 len memset a 0 sizeof a len strlen st for i 1 i len i a i st i 1 48 高精度除低精 3 长度预处理 除法 商最多就是高精度数的长度len中 高精度除低精 4 计算 intyu 0 yu记录每次的余数 初始值为0for i 1 i len i a i yu 10 c i a i 10 yu a i 10 要加入上次的余数 才是本次的除数 记录下本次的余数 处理

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论