欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    教案一高精度计算教学内容课件.ppt

    • 资源ID:3961949       资源大小:1.67MB        全文页数:41页
    • 资源格式: PPT        下载积分:16金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要16金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    教案一高精度计算教学内容课件.ppt

    NOIP教案一、高精度计算,高精度计算,2,减法,1、输入,高精度计算,加法,乘法,2、保存,3、长度预处理,4、计算,5、输出,1、输入,2、保存,3、长度预处理,4、计算,5、输出,1、输入,2、保存,3、长度预处理,4、计算,5、输出,高精度加法,3、长度预处理,加法:长度为a,b中较长的那位,放入len1中。,if(len1len2)len1=len2;,高精度加法,4、计算,for(i=1;i=len1;+i)ai=ai+bi;ai+1=ai+1+ai/10;ai%=10;,进位,i+1位上原有的值,/处理最高位alen1上是否有值,确认长度为len1,还是len1+1位。,if(alen1+10)len1+;,高精度加法,5、输出,for(i=len1;i=1;-i)printf(”%d”,ai);,高精度加法,#include#include#includeusing namespace std;int main()int a501,b501,i,len1,len2;char st1501,st2501;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,ai);return 0;,高精度减法,1、以字符数组读入,由于后面要进行比较两个高精度数的大小,故建议存放在字符串中。,char st1501,st2501;string s1,s2,s;int len1,len2,temp;scanf(”%s”,st1);s1=st1;len1=s1.size();scanf(”%s”,st2);s2=st2;len2=s2.size();If(len1len2)|(len1=len2),高精度减法,2、倒序保存在数字数组中,int a501,b501,i;memset(a,0,sizeof(a);memset(b,0,sizeof(b);for(i=1;i=len1;+i)ai=s1len1-i-48;for(i=1;i=len2;+i)bi=s2len2-i-48;,高精度减法,3、长度:,len1,高精度减法,4、计算,for(i=1;i=len1;+i)if(aibi)ai+1-;ai+=10;ai=ai-bi;,借位,/高位上有可能有多个0,while(alen1=0),高精度减法,5、输出,for(i=len1;i=1;-i)printf(”%d”,ai);,高精度减法,#include#include#include#includeusing namespace std;int main()int a501,b501,i,len1,len2,temp;char st1501,st2501;string s1,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,ai);return 0;,高精度乘法(一),1、以字符数组读入:,char st1501,st2501;scanf(”%s”,st1);scanf(“%s”,st2);,乘法的输入和保存跟加法完全一样,只是需要多定义一个C数字数组,用于存放最终的乘积。,高精度乘法(一),2、倒序保存在数字数组中,int a501,b501,c501,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)ai=st1len1-i-48;len2=strlen(st2);for(i=1;i=len2;+i)bi=st2len2-i-48;,高精度乘法(一),3、长度,a的长度为len1,b的长度为len2.,高精度乘法(一),4、计算,for(i=1;i=len1;+i)for(j=1;j=len2;+j)ci+j-1=ci+j-1+ai*bj;ci+j=ci+j+ci+j-1/10;ci+j-1%=10;,进位,/确认c数组的长度,lenc=len1+len2;while(clenc=0,高精度乘法(一),5、输出,for(i=lenc;i=1;-i)printf(”%d”,ci);,高精度乘法(一),#include#include#includeusing namespace std;int main()int a501,b501,c501,i,j,len1,len2,lenc;char st1501,st2501;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,ci);return 0;,高精度乘法(二),单个的整数x(0 x1000)乘以一个高精度整数。,1、高精度数和x的输入与保存。(与之前的输入保存一致),int a501,i,len,x;char st501;memset(a,0,sizeof(a);scanf(“%d”,高精度乘法(二),2、计算,for(i=1;i=len;+i)ai=ai*x;for(i=1;i=len;+i)ai+1=ai+1+ai/10;ai%=10;,进位,/确认a数组的长度,len+;while(alen9)alen+1=alen/10;alen%=10;len+;,高精度乘法(二),3、输出,for(i=len;i=1;-i)printf(”%d”,ai);,高精度乘法(二),#include#include#includeusing namespace std;int main()int a501,i,len,x;char st501;memset(a,0,sizeof(a);scanf(%d,x);scanf(%s,st);len=strlen(st);for(i=1;i9)alen+1=alen/10;alen%=10;len+;for(i=len;i=1;-i)printf(%d,ai);return 0;,练习,1、P150例1.62、P153第7题。3、P152页第1题,高精度计算,高精度计算,1、以字符数组读入:,char st1501;scanf(”%s”,st1);,2、倒序保存在数字数组中,int a501,I,len1;len1=strlen(st1);for(i=1;i=len1;+i)ai=st1len1-i-48;,/做减法时,可再放入字符串S1string s1;s1=st1;,加法与乘法,定义:int I,j,len1,len2,a501,b501;char st1501,st2501;,memset(a,0,sizeof(a);scanf(“%s”,st1);len1=strlen(st1);for(i=1;i=len1;+i)ai=st1len1-i-48;memset(b,0,sizeof(b);Scanf(“%s”,st2);Len2=strlen(st2);For(i=1;i=len2;+i)bi=st2len2-i-48;,string s1,s1,s;scanf(“%s”,st1);scanf(“%s”,st2);s1=st1;s2=st2;len1=s1.size();len2=s2.size();if(len1len2)|(len1=len2),减法,3、长度预处理,加法:长度为a,b中较长的那位,放入len1中。,If(len1len2)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)ci+j-1=ci+j-1+ai*bj;ci+j=ci+j+ci+j-1/10;ci+j-1%=10;lenc=len1+len2;while(clenc=0)lenc-;,加法,减法,乘法,5、输出,for(i=lenc;i=1;-i)printf(”%d”,ci);,for(i=len1;i=1;-i)printf(”%d”,ai);,加法和减法,乘法,高精度除法,高精度除低精,1、高精度数以字符数组读入:,char st501;int x;scanf(”%s”,st1);scanf(“%d”,2、顺序保存在数字数组中,int a501,len;memset(a,0,sizeof(a);len=strlen(st);for(i=1;i=len;+i)ai=sti-1-48;,高精度除低精,3、长度预处理,除法:商最多就是高精度数的长度len中。,高精度除低精,4、计算,int yu=0;/yu记录每次的余数,初始值为0for(i=1;i=len;+i)ai+=yu*10;ci=ai/10;yu=ai%10;,要加入上次的余数,才是本次的除数,记录下本次的余数,/处理最高位c1上是否有值,确认有效长度。,j=1;while(cj=0,高精度除低精,5、输出,for(i=j;i=len;+i)printf(”%d”,ci);,高精度除低精,#include#includeusing namespace std;int i,j,len,x,yu;int a1005,c1005;char st1005;int main()scanf(%s,st);scanf(%d,高精度除低精,Thank You!,此课件下载可自行编辑修改,仅供参考!感谢您的支持,我们努力做得更好!谢谢!,

    注意事项

    本文(教案一高精度计算教学内容课件.ppt)为本站会员(小飞机)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开