



免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
高精度计算利用计算机进行数值计算,有时会遇到这样的问题,有些计算要求精度高,希望计算的数的位数可达几十位甚至几百位,虽然计算机的计算精度也算较高了,但因受到硬件条件的限制,往往达不到实际问题所要求的精度,我们可以利用高精度计算的方法来实现更高精度计算的目的。高精度计算中需要处理好以下几个问题:(1) 数据的接收方法和存贮方法 当输入的数很长时,可采用字符串方式输入,这样可输入数字很长的数,利用字符串函数和操作运算,将每一位数取出,存入数组中;另一种方法是直接用循环数组方法输入数据。(2) 进位、借位的处理加法进位:ai:=ai+bi;ai+1:=ai+1+ai div 10; ai:=ai mod 10;减法借位:if aibi then Begin ai+1:=ai+1-1;ai:=ai+10 end; Ai:=ai-bi;乘法进位:y:=ai*bi+c; c:=y div 10; ai:=y-c*10;一、 高精度加法程序Program p1;Const n=100;Var str1,str2:string; A,b:array1.n of integer; K,len1,len2,len,I,j:integerBegin Readln(str1); Readln(str2); Len1:=length(str1);len2:=length(str2); For i:=1 to len1 do alen1+1-i:=ord(str1i)-ord(0); For i:=1 to len2 do blen2+1-i:=ord(str2i)-ord(0); If len1len2 then len:=len2 else len:=len1; For i:=1 to len do Begin ai:=ai+bi;ai+1:=ai+1+ai div 10; ai:=ai mod 10; end;if alen+10 then inc(len);for i:=len downto 1 do writeln(ai);end;二、 高精度减法程序For i:=1 to len doBegin if ai=10 do Begin len:=len+1; Alen:=alen-1 div 10; Alen-1:=alen-1 mod 10; End;(2)多精度与多精度乘法Program p4;Const n=100;Var a,b:array1.n of integer; C:array1.2*n+1 of integer; Len1,len2,I,j,x,y,w:integer;Begin Readln(str1);readln(str2); Len1:=length(str1);len2:=length(str2); For i:=1 to len1 do alen1+1-i:=ord(str1i)-ord(0); For i:=1 to len2 do blen2+1-i:=ord(str2i)-ord(0); For i:=1 to len1 do For j:=1 to len2 do Begin x:=ai*bj; Y:=x div 10; z:=x mod 10; w:=i+j-1; cw:=cw+z; cw+1:=cw+1+cw div 10+y; cw:=cw mod 10 end; e:=len1+len2; while ce=0 then e:=e-1; for i:=e downto 1 do write(ci);end.当输入str1=123456789,str2=987654321时,结果是:121932631112635269四、加大进制的方法前面所介绍的各种方法都是以十进制为基础的,当数很大时,为了加快速度,可以采用100或10000进制或更大的进制的方法。除了进制有所变化外,算法没有什么变化。例1、 求n!的精确值。分析:n!=1*2*3*.*n,算法如下:(1) 确定位数:len=trunc(1/ln10(lnn+ln(n-1)+.+ln3+ln2+ln1)+1;(2) 每位数占用一个数组单元,每个单元存放四位数,内存可节省到1/4;(3) 进位处理,进位的条件是存储单元的数是否大于9999;(4) 输出处理:将各单元的数顺序输出,但若该单元不是最高位且不足四位数则在需要在前面补0,凑成四位数。Program p6;Const m=200;Var a:array1.m of integer; I,j,y,c,n,k,t:integer; F:real;Begin Read(n); F:=0; For i:=1 to n do f:=f+log(i)log(10); T:=trunk(f)+1; A1:=1;len:=1;k:=1; For i:=1 to n do Begin c:=0; While ak=0 do inc(k); For j:=k to len do Begin y:=ai*i+c; C:=y div 1000; Ai:=y mod 1000 End; If c0 then begin inc(len);alen:=c end; End;For i:=len downto 1 do Begin if i=1 then write(ai) Else begin str(ai,st1); While length(st1)3 do st1:=0+st1; Write(st1); End; End;End.当n=10,10!=3628800;当n=15,15!=1307674368000练习:1、 正月里,鼠妈鼠爸生了12只小鼠,于是大小鼠共有14只,二月里,两 代鼠全部配对,每对鼠又各生了12只小鼠,因此共有鼠98只。如这样下去每月所有的鼠全部配对,每对鼠又各生12只小鼠,十二个月后,鼠的总数是多少呢?2、 用高精度计算出s=1!+2!+3!+.+n!(n=50),输入正整数n,输出计算结果s.3、 正实数加法计算,读入两个100位长的正实数,求出它们的和。4、 设有一个n*m(1=n=50,1=m=50)的街道,如图所示 5 B(9,5) * * * * * * * * * * * 4 * 3 2 1 1 2 3 4 5 6 7 8 9 A(1,1),规定行人从A(1,1)出发,在街道上只能向东或向北方向行走,若在n*m的街道中,设置一个矩形障碍区域(包括围住该区域的街道)不让行人通行,如图中表示的部分。此矩形障碍区域用2对顶点坐标给出,前图中的2对项点坐标为(2,2),(8,4),此时从A出发到B的路径仅有两 条。 程序要求: 任务一:给出n,m后,求出所有从A出发到达B的路径的条数。 任务二:给出n,m,同时再给出此街道中的矩形障碍区域的2对顶点从标(x1,y1),(x2,y2),然后求出此种情况下所有从A出发到达B的路径的条数。5、 麦森数【问题描述】形如2P-1的素数称为麦森数,这时P一定也是个素数。但反过来不一定,即如果P是个素数,2P-1不一定也是素数。到1998年底,人们已找到了37个麦森数。最大的一个是P=3021377,它有909526位。麦森数有许多重要应用,它与完全数密切相关。任务:从文件中输入P(1000P3100000),计算2P-1的位数和最后500位数字(用十进制高精度数表示)【输入格式】文件中只包含一个整数P(1000P3100000)【输出格式】第一行:十进制高精度数2P-1的位数。第2-11行:十进制高精度数2P-1的最后500位数字。(每行输出50位,共输出10行,不足500位时高位补0)不必验证2P-1与P是否为素数。【输入样例】1279【输出样例】38600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010407932194664399081925240327364085538615262247266704805319112350403608059673360298012239441732324184842421613954281007791383566248323464908139906605677320762924129509389220345773183349661583550472959
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030中国创新药研发趋势及国际合作模式与投资风险评估报告
- 2025至2030咖啡伴侣行业产业运行态势及投资规划深度研究报告
- 国际投标书5篇
- 2025至2030铝合金汽车零部件行业发展趋势分析与未来投资战略咨询研究报告
- 第六章 质量与密度 单元测试卷 (含答案)2025-2026学年人教版(2024)八年级物理上册
- 塔里木油田分公司高校毕业生招聘考试真题2024
- 2025年上海市测绘院公开招聘高层次专业技术人员模拟试卷及1套参考答案详解
- 2025年海洋能源利用:海水淡化反渗透膜技术创新在海洋波浪能中的应用
- 2025北京海关所属事业单位招聘5人模拟试卷及答案详解一套
- 2025广东清远市连州市教育局招聘高中教师10人(编制)模拟试卷及答案详解(各地真题)
- 2025河北水发节水有限公司公开招聘工作人员16人笔试参考题库附答案解析
- 新版中华民族共同体概论课件第十二讲民族危亡与中华民族意识觉醒(1840-1919)-2025年版
- 2025-2026学年人教版(2024)九年级物理全册第十四章 内能的利用(单元同步检测练习)(含答案)
- 第1课时 10的加、减法(教学设计)-2024-2025学年一年级上册数学人教版
- 2025至2030中国聚烯烃行业项目调研及市场前景预测评估报告
- 夜间红外成像算法优化-洞察及研究
- 2025四川达州宣汉县国有资产管理服务中心县属国有企业招聘劳动合同职工26人笔试历年参考题库附带答案详解
- 外国戏剧史课件
- (正式版)DB15∕T 4179-2025 《输氢管道工程施工规范》
- 新教科版小学1-6年级科学需做实验目录
- WS/T 102-1998临床检验项目分类与代码
评论
0/150
提交评论