教案一高精度计算教学内容课件.ppt
《教案一高精度计算教学内容课件.ppt》由会员分享,可在线阅读,更多相关《教案一高精度计算教学内容课件.ppt(41页珍藏版)》请在三一办公上搜索。
1、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(a
2、len1+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;,高精
3、度减法,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=s1l
4、en1-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
5、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数
6、字数组,用于存放最终的乘积。,高精度乘法(一),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=
7、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,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 教案 高精度 计算 教学内容 课件
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-3961949.html