Pascl高精度运算( 乘法).ppt

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Pascl高精度运算( 乘法)

整数i乘多精度数组a 设x为当前位乘积和进位 x:=x+a[j]*i; a[j]:=x mod 10; x:=x div 10 精确计算n的阶乘n!(7n50) const max=100;     n=20; var a:array[1..max]of 0..9; i,j,k;x:integer; begin k:=1; a[k]:=1;{a=1} for i:=2 to n do{a*2*3….*n} begin x:=0;{进位初始化} for j:=1 do k do{a=a*i} begin x:=x+a[j]*i; a[j]:=x mod 10; x:=x div 10 end; while x0 do {处理最高位的进位} begin k:=k+1; a[k]:=x mod 10; x:=x div 10 end end; writeln; for i:=k dowento 1 write(a[i]){输出a} end. 乘法运算a←a*b(a、b为numtype类型) 1、积的位数为la+lb-1或者la+lb; 2、如果暂且不考虑进位关系,则ai*bj应该累加在积的第j+i-1位上: x:= a[i]*b[j]+ x div 10+ c[i+j-1]; c[i+j-1] := x mod 10; 3、可以先乘、后处理进位 练习:循环(circle.pas) 【问题描述】 乐乐是一个聪明而又勤奋好学的孩子。他总喜欢探求事物的规律。一天,他突然对数的正整数次幂产生了兴趣。 众所周知,2的正整数次幂最后一位数总是不断的在重复2,4,8,6,2,4,8,6……我们说2的正整数次幂最后一位的循环长度是4(实际上4的倍数都可以说是循环长度,但我们只考虑最小的循环长度)。类似的,其余的数字的正整数次幂最后一位数也有类似的循环现象: 这时乐乐的问题就出来了:是不是只有最后一位才有这样的循环呢?对于一个整数n的正整数次幂来说,它的后k位是否会发生循环?如果循环的话,循环长度是多少呢? 注意: 1:如果n的某个正整数次幂的位数不足k,那么不足的高位看做是0。 2:如果循环长度是L,那么说明对于任意的正整数a,n的a次幂和a + L次幂的最后k位都相同。 输入、输出数据要求 【输入文件】 输入文件circle.in只有一行,包含两个整数n(1 = n 10100)和k(1 = k = 100),n和k之间用一个空格隔开,表示要求n的正整数次幂的最后k位的循环长度。 【输出文件】 输出文件circle.out包括一行,这一行只包含一个整数,表示循环长度。如果循环不存在,输出-1。 【样例输入】 32 2 【样例输出】 4 【数据规模】 对于30%的数据,k = 4; 对于全部的数据,k = 100。 * 第五讲:高精度运算乘法篇 从铬里烧领厉会侗闯挣杆艳含渠戳娱奉纶沪褒披儿虐锋诈谅克贿苏杉狠俩Pascal高精度运算( 乘法)Pascal高精度运算( 乘法) 高精度运算涉及到的问题: 1、数据的输入。字符串 2、数据的存储。数组 3、数据的运算:进位和借位。 4、结果的输出:小数点的位置、处理多于的0等。 辙屯拐应氟痉货椽诊玻友夸烹藻厘条浓绑楞哪改飞处倦劣旧乔非虎丈莎伤Pascal高精度运算( 乘法)Pascal高精度运算( 乘法) 翠旁过洲诱性秩雾慢勺蓄炳垮谱砌咎茶胖诌倦玩狄袜充芬檬萤约嗽堆僚滁Pascal高精度运算( 乘法)Pascal高精度运算( 乘法) … … a a[1],a[2],…,a[max]的值可以是0到9的任意数字 因为 50!505010050=(102)50=10100  所以 50!可以用100个数组元素a[1],a[2],…,a[100]来存放,一个数组元素存放一个数位上的数字。 用i表示阶乘中的整数,取值范围在1至50之间, j为数组变量a的下标,取值范围在1至100之间,X存放来自低位的进位数。 X j 100 99 98

文档评论(0)

md85173 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档