


全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
竞赛辅导3-高精度计算在利用计算机进行数值计算时,如果对数值的要求在允许范围内,可以利用数值型数据进行存储,数值范围较大,计算精度要求较高,就需要采用软件的方法来处理相应运算,这类算法统一称为高精度计算算法。在计算机上进行高精度计算,首先要处理好以下几个基本问题:1)数据的接收与存储;2)计算结果位数的确定;3)进位处理和借位处理;4)商和余数的求法;这几个问题的常见解决策略是:1) 数据的接收与存储:、当输入的数值在计算机允许的范围内时,可以用数值型变量来接收数据。、当输入的数据超过计算机允许显示的精度范围时,采用字符来接收数据。、分离各位数字。2) 计算结果位数的确定:利用对数函数L=trunc(ln(n*(n-1)*(n-2)*.2*1)/ln(10)+1,求位数 或ln(n)+ln(n-1)+1、两数之和的位数最大为较大的数的位数加1。、乘积的位数最大为两个因子的位数之和。、阶乘与乘方的位数可以采用对数运算来确定计算结果的位数。3) 进位处理和借位处理:ai,bI规则:4) 商和余数的求法:设A,B分别为不大于9位的整数,则高精度加法程序 Program gjd-jiafa.cpp;#include #include #include main() char str130,str230; int a30,b30; scanf(%s%s,str1,str2); / puts(str1); / puts(str2); int len1,len2; len1=strlen(str1); len2=strlen(str2); /printf(%d %dn,len1,len2); int i,k; / for (i=0;i=0;i-) ak=str1i-1-48; k=k+1; k=0; for (i=len2;i=0;i-) bk=str2i-1-48; k=k+1; if (len1len2) for (i=len1;ilen2;i+)ai=0; else for (i=len2;ilen2) k=len1;else k=len2; int f=0; for (i=0;i=10) f=ai / 10;else f=0; ai=ai % 10; / printf(%d ,ai); /printf(overn); if (f!=0) ak=f; if (f!=0) printf(%d,ak); for (i=k-1;i0 ;i-) printf(%d,ai); printf(%dn,a0); getch(); .练习:设计高精度减法程序例1、 高精度乘法运算Program gjd-chengfa.cpp;#include #include #include main() char str130,str230; scanf(%s%s,str1,str2); int len1,len2; len1=strlen(str1); len2=strlen(str2); printf(%d %dn,len1,len2); int a30,b30,c30; int i,j,k;k=0; for (i=len1-1;i=0;i-) ak=str1i-0; k=k+1; for (i=0;i=0;i-) bk=str2i-0; k=k+1; for (i=0;ilen2;i+)printf(%d,bi); printf(%n); for (i=0;ilen1+len2;i+) ci=0; int f; for (i=0;ilen1;i+) f=0; for (j=0;j=0;i-) printf(%d,ci); printf(%n); getch();例3、求n!的精确值,每个单元存放四位数。(用高精度算法求出每一位数)Program n!-1.cpp;/无压缩高精度计算#include #include #include main() int n; scanf(%d,&n); printf(%dn,n); int e,f1,f2,i,j,k;e=1; int c30;c1=1; for(i=1;i=n;i+) f1=0;f2=0; for (j=1;j0;i-) printf(%d,ci); printf(n); getch(); program n!-2.cpp: 有压缩计算#include #include #include main() int n; scanf(%d,&n); printf(%dn,n); int e,f1,f2,i,j,k;e=1; int c30;c1=1; for(i=1;i=n;i+) f1=0;f2=0; for (j=1;j0;i-) printf(%d%d%d%d,ci/1000,ci/100 % 10,ci/10 %10,ci%10
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025湖北恩施州恩施市福牛物业有限公司招聘恩施市金满园农业发展有限公司工作人员人员考前自测高频考点模拟试题及完整答案详解1套
- 老人健康关怀手表行业跨境出海项目商业计划书
- 污水处理劳务创新创业项目商业计划书
- 2025广东清远市英德市招聘教师222人(编制)模拟试卷及答案详解(必刷)
- 2025年河东区常州道街社区卫生服务中心招聘派遣制(编外)工作人员模拟试卷及答案详解(必刷)
- 2025昆明市公安局公开招聘文职辅警(16人)考前自测高频考点模拟试题及答案详解(易错题)
- 2025年永新县面向社会公开招聘城市社区专职网格员【37人】模拟试卷有完整答案详解
- 2025中国科学院地理科学与资源研究所“可桢-秉维青年人才”招聘考试参考试题及答案解析
- 2025广东肇庆市人力资源和社会保障局选聘法律顾问考前自测高频考点模拟试题完整参考答案详解
- 2025南昌市自然资源和规划局高新分局招聘办公室文秘岗1人模拟试卷及答案详解(各地真题)
- 生产计划员月度汇报
- 湖北省新八校协作体2025-2026学年度上学期高三10月月考 英语试卷(含答案详解)
- 2023九年级数学下册 第26章 二次函数26.3 实践与探索第2课时 二次函数和一元二次方程(不等式)的关系说课稿 (新版)华东师大版
- 违规动火作业培训
- 2025年安全考试试题及答案复制
- 2025内蒙古呼伦贝尔扎兰屯市招聘社区工作者16人备考考试题库附答案解析
- 人教版初中道德与法治七年级上册期中综合检测试卷及答案
- 姬松茸的课件
- 2025年物流行业审核合规性提升方案
- 台球厅吸引人活动方案
- 免疫系统趣味讲解
评论
0/150
提交评论