tceic.com
简单学习网 让学习变简单
当前位置:首页 >> 学科竞赛 >>

高精度加法--(万进制)


#include<stdio.h> #include<stdlib.h> #include<string.h> #define base 10000 char a[25010],b[25010]; int add[25610],x[25610],y[25610]; int flag=1; void out (int clen) { int p,

i; for(i=clen;i>=1;i--) { if(add[i]<1000&&flag==0) { p=add[i]; if(p==0)p++; while(p<1000) { printf("0");p*=10;} printf("%d",add[i]); } else printf("%d",add[i]); flag=0; } puts(""); } int main() { int i,j,k,m,n,p=0,ai=0,bi=0,count=0; char c;i=0; c=getchar(); while(c!=' ') { a[i++]=c; c=getchar(); } gets(b); int alen,blen,clen; alen=strlen(a); blen=strlen(b); memset(x,0,sizeof(x)); memset(y,0,sizeof(y)); m=alen-1;

int an=alen/4; int ap=alen%4; for(i=1;i<=an;i++) { k=1000; for(j=3;j>=0;j--){ x[i]+=(a[m-j]-'0')*k;k/=10;} m-=4; } k=1; if(ap) { for(j=1;j<ap;j++)k*=10; for(j=ap-1;j>=0;j--){ x[i]+=(a[m-j]-'0')*k;k/=10;} } int bn=blen/4; int bp=blen%4; m=blen-1; for(i=1;i<=bn;i++) { k=1000; for(j=3;j>=0;j--){ y[i]+=(b[m-j]-'0')*k;k/=10;} m-=4; } k=1; if(bp) { for(j=1;j<bp;j++)k*=10; for(j=bp-1;j>=0;j--){ y[i]+=(b[m-j]-'0')*k;k/=10;} } if(ap)ai=1; if(bp)bi=1; alen=an+ap; blen=bn+bp; clen=alen>blen?alen:blen; memset(add,0,sizeof(add)); for(i=1;i<=clen;i++) { count+=x[i]+y[i]; add[i]=count%base; count/=base;

} while(count) { add[++clen]=count; count/=base; } while(!add[clen])clen--; out(clen); system("pause"); return 0; }


推荐相关:

高精度运算(C++)

万进制高精度数的输出问题: 采用万进制来进行高精的加、减、乘三种运算,虽然提高了程序的执行效率,但在输出时却带来了 问题,如在加法示例中的结果从高位到低位...


高精度计算

信息学竞赛高精度计算信息学竞赛高精度计算隐藏>> 高精度计算——万进制加法(pascal 代码) var s1,s2:string; procedure plus(s1,s2:string); var a,b,c:arr...


高精度整数加法问题--已测试

2. 高精度整数加法(60 分) 问题描述: 在计算机中,由于处理器位宽限制,只能处理有限精度的十进制整数加减法,比如在 32 位 宽处理器计算机中, 参与运算的操作数...


4种常见的动态规划模型

注意:由于此题的数据规模比较大,所以要用到高精度加法,估计最大的数据可以达到 73位,为节约程序时间和空间效率,还采用了万进制高精度加法。参考程序 如下: ...


高精度加法及改进

二、高精度加法算法 Procedure add(a,b:high;var c:high); Y 交换 a 与 b Len:=a.len For I:=b.len+1 to Len do B 的第 I 位清 0 进位记录...


高精度加法

程序设计挑战式课程设计极限挑战挑战,不是为着征服自然,而是为着突破自我,超越自我 生命有极限,思想无极限,高度有极限,境界无极限 作业名称: 高精度加法 学班学姓...


高精度四则运算(万进制)C++

高进度四则运算 C++版(By 小贝) 压位高精(万进制) //头文件:thp.h #...高精度加法--(万进制) 3页 免费 小学奥数二进制及其四则... 6页 免费喜欢...


万进制数及其在大数据运算中的应用

万进制数及其在大数据运算中的应用_计算机软件及应用_IT/计算机_专业资料。大...(2),按位作加法; (3),检查第一位是否溢出; (4),确定结果的正负号; (3...


国家集训队论文:平衡规划

其中使用最多的有高精度乘以单精度与高精度加减法。 高精度运算有一个通用的优化:压位。在longint范围内通常是压4位(即万 进制) ,在int64则可以压8位,而压...


1128上机练习

问题三:没有对数据规模有足够估计,用数组表示十进制大整数而非万进制数,结果超 时。 2、高精度浮点数加法参考代码: 高精度浮点数加法参考代码: 高精度浮点数...

网站首页 | 网站地图
All rights reserved Powered by 简单学习网 www.tceic.com
copyright ©right 2010-2021。
文档资料库内容来自网络,如有侵犯请联系客服。zhit325@126.com