最新[NOIP教案]一、高精度计算教学内容课件.ppt

上传人(卖家):晟晟文业 文档编号:4431090 上传时间:2022-12-08 格式:PPT 页数:41 大小:1.67MB
下载 相关 举报
最新[NOIP教案]一、高精度计算教学内容课件.ppt_第1页
第1页 / 共41页
最新[NOIP教案]一、高精度计算教学内容课件.ppt_第2页
第2页 / 共41页
最新[NOIP教案]一、高精度计算教学内容课件.ppt_第3页
第3页 / 共41页
最新[NOIP教案]一、高精度计算教学内容课件.ppt_第4页
第4页 / 共41页
最新[NOIP教案]一、高精度计算教学内容课件.ppt_第5页
第5页 / 共41页
点击查看更多>>
资源描述

1、NOIP教案一、高精度计算高精度计算高精度计算2减法1 1、输入、输入高精度高精度计算计算 加法加法 乘法乘法2 2、保存、保存3 3、长度预处理、长度预处理4 4、计算、计算5 5、输出、输出1 1、输入、输入2 2、保存、保存3 3、长度预处理、长度预处理4 4、计算、计算5 5、输出、输出1 1、输入、输入2 2、保存、保存3 3、长度预处理、长度预处理4 4、计算、计算5 5、输出、输出高精度加法高精度加法3、长度预处理加法:长度为a,b中较长的那位,放入len1中。if(len1len2)len1=len2;高精度加法高精度加法4、计算for(i=1;i0)len1+;高精度加法高精

2、度加法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;i=len1;+i)ai=st1len1-i-48;scanf(%s,st2);len2=strlen(st2);for(i=1;i=le

3、n2;+i)bi=st2len2-i-48;if(len1len2)len1=len2;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=

4、len2)&(s1s2)printf(“-”);/输出-号 s=s1;s1=s2;s2=s;/交换s1和s2;temp=len1;len1=len2;len2=temp;高精度减法高精度减法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(ai1)len1-;高精度减法

5、高精度减法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(len

6、1len2)|(len1=len2)&(s1s2)printf(-);s=s1;s1=s2;s2=s;temp=len1;len1=len2;len2=temp;for(i=1;i=len1;+i)ai=s1len1-i-48;for(i=1;i=len2;+i)bi=s2len2-i-48;for(i=1;i=len1;+i)if(ai1)len1-;for(i=len1;i=1;-i)printf(%d,ai);return 0;高精度乘法(一)高精度乘法(一)1、以字符数组读入:char st1501,st2501;scanf(”%s”,st1);scanf(“%s”,st2);乘法的输

7、入和保存跟加法完全一样,只是需要多定义一个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的

8、长度为len2.高精度乘法(一)高精度乘法(一)4、计算for(i=1;i=len1;+i)for(j=1;j1)lenc-;高精度乘法(一)高精度乘法(一)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,siz

9、eof(c);scanf(%s,st1);len1=strlen(st1);for(i=1;i=len1;+i)ai=st1len1-i-48;scanf(%s,st2);len2=strlen(st2);for(i=1;i=len2;+i)bi=st2len2-i-48;for(i=1;i=len1;+i)for(j=1;j1)lenc-;for(i=lenc;i=1;-i)printf(%d,ci);return 0;高精度乘法(二)高精度乘法(二)单个的整数x(0 x1000)乘以一个高精度整数。1、高精度数和x的输入与保存。(与之前的输入保存一致)int a501,i,len,x;ch

10、ar st501;memset(a,0,sizeof(a);scanf(“%d”,&x);scanf(“%s”,st);len=strlen(st);for(i=1;i=len;+i)ai=stlen1-i-48;高精度乘法(二)高精度乘法(二)2、计算for(i=1;i=len;+i)ai=ai*x;for(i=1;i9)alen+1=alen/10;alen%=10;len+;高精度乘法(二)高精度乘法(二)3、输出for(i=len;i=1;-i)printf(”%d”,ai);高精度乘高精度乘法(二)法(二)#include#include#includeusing namespace

11、 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;i=len;+i)ai=stlen-i-48;for(i=1;i=len;+i)ai*=x;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、以字符数组读

12、入: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,sizeo

13、f(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)&(s1s2)printf(“-”);s=s1;s1=s2;s2=s;int temp=len1;len1=len2;len2=temp;for(i=1;i=len1;+i)ai=s1len1-i-48;for(i=1;i=l

14、en2;+i)bi=s2len2-i-48;减法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;i=len1;+i)if(ai1)len1-;for(i=1;i=len1;+i)for(j=1;j=1;-i)printf(”%d”,ci);for(i=len1;i=1;-i)printf(”%d”,ai);加法和减法乘法高精度除法高精

15、度除法高精度除低精高精度除低精1、高精度数以字符数组读入:char st501;int x;scanf(”%s”,st1);scanf(“%d”,&x);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;要加入上次的余数

16、,才是本次的除数 记录下本次的余数/处理最高位c1上是否有值,确认有效长度。j=1;while(cj=0&jlen)+j;高精度除低精高精度除低精5、输出for(i=j;i=len;+i)printf(”%d”,ci);高精度除低精高精度除低精v#includev#includevusing namespace std;vint i,j,len,x,yu;vint a1005,c1005;vchar st1005;vint main()vscanf(%s,st);vscanf(%d,&x);vlen=strlen(st);vfor(i=1;i=len;+i)v ai=sti-1-48;vyu=0;vfor(i=1;i=len;+i)v ai+=yu*10;v ci=ai/x;v yu=ai%x;vvj=1;vwhile(cj=0&jlen)+j;vfor(i=j;i=len;+i)v printf(%d,ci);vreturn 0;v高精度除低精高精度除低精LOGO此课件下载可自行编辑修改,仅供参考!此课件下载可自行编辑修改,仅供参考!感谢您的支持,我们努力做得更好!感谢您的支持,我们努力做得更好!谢谢谢谢!

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(最新[NOIP教案]一、高精度计算教学内容课件.ppt)为本站会员(晟晟文业)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|