网站大量收购独家精品文档,联系QQ:2885784924

C语言高精度运算.pptVIP

  1. 1、本文档共48页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

高精度运算数据类型的转换一.高精度数的存储,用字符串读入二.计算结果位数的确定三.高精度数比较四、高精度结果的输出1.高精度加法1.高精度加法1.高精度加法1.高精度加法N进制运算1、当前位规范由%10改为%n2、进位处理由/10改为/n3、其他运算规则不变2.高精度减法2.高精度减法竖式减法: 927- 896----------- 1 7-6=0 3 12-9=3,借位12 0 (9-1)-8=0----------- 312.高精度减法2.高精度减法3.乘法运算1、高精度数组a乘整数x2、两个高精度数组相乘注意:1、乘积用数组存储,如何定义数组的长度2、乘法过程中,乘积数组的指针如何变化高精度数组a乘整数i精确计算n的阶乘n!(7n350)精确计算n的阶乘n!(7n50)乘法运算c←a*b(a、b为int类型)1、积的位数为a[0]+b[0]-1;2、如果暂且不考虑进位关系,则ai*bj应该累加在积的第i+j-1位上:for(i=1;i=a[0];i++)for(j=1;j=b[0];j++)c[i+j-1]+=a[i]*b[j];3、可以先乘、后处理进位3.乘法运算4.除法运算整数数组除以整数(a←a/i,a为整数数组,i为整数)memset(s,0,sizeof(s));//小数部分初始化memset(posi,0,sizeof(posi));//小数值的位序列初始化len=0;st=0;//小数部分的指针和循环节的首指针初始化cinxy;//读被除数和除数coutx/y;//输出整数部分x=x%y;//计算x除以y的余数if(x==0)return0;//若x除尽y,则成功退出while(lenlimit)//若小数位未达到上限,则循环{len++;posi[x]=len;//记下当前位小数,计算下一位小数和余数x=x*10;s[len]=x/y;x=x%y;if(posi[x]!=0)//若下一位余数先前出现过,则先前出现的位置为循环节的开始 {st=posi[x];break;}if(x=0)break;//若除尽,则成功退出}if(len==0){coutendl;return0;}//若小数部分的位数为0,则成功退出;否则输出小数点cout“.”;if(st=0)//若无循环节,则输出小数部分,否则输出循环节前的小数和循环节{for(i=1;i=len;i++)couts[i];else{for(i=1;i=st-1;i++)couts[i];cout“(”;for(i=st;i=len;i++)couts[i]; cout“)”;}彩票现今,社会上流行着各种各样的福利彩票,彩票已经融入到了人们的日常生活之中。彩票之所以能吸引那么多的人们,玩法多是一大原因。其中有一类是从前N个自然数中选出M个(不计顺序)不同的号码,如果这M个号码与摇奖时摇出的M个中奖号码完全相符,那么就中了头奖。如现在已经有的:30选7,35选7,36选7,37选7……随着时间的推移,越来越多的人不满足于原来的玩法。为了追求更大的刺激,可供选择的号码和每注的号码个数越来越大,88选8,518选18,8888选68等等应运而生。但是,由此也衍生出了许多麻烦。由于数字越来越大,福彩中心的工作人员们已经无法用一般的计数器精确地计算出每一种彩票中头奖的概率。现在请你帮助他们,编一个程序:对于每一种玩法,能够快速准确地计算出中头奖概率的倒数。输入:n(M?N1040)m(0M?1000)输出:在“N选M”的玩法中,中头奖的概率的倒数。N个数中(不计顺序)取出M个不同的数的取法共有C(N,M)种。这里C(N,M)表示组合数。因此,要使摇出的中奖号码与所选的号码完全相同,概率只有1/C(N,M)。所以我们要求的值即为C(N,M)。根据组合数的计算公式:优化方法2、乘除时使用因子表任何自然数都可以表示为n=p1k1*p2k2*……*ptkt的形式,p1,p2,……,pt为质因子。设num数组为自然数n,其中num[i]为因子i的次幂数(1≤i≤k).显然,num[k],num[k-1]……,num[2]构成了一个自然数,该自然数可以用十进制整数数组ans存储。ans的计算过程

文档评论(0)

Alfred + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档