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; }


推荐相关:

4种常见的动态规划模型

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


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

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


高精度运算(加减)

高精度运算(加减)_数学_自然科学_专业资料。安阳一中信息学奥赛辅导资料 高精度...1353+3531=4884 在这里的一步是指进行了一次 N 进制加法,上例最少用了 4...


二进制双精度加法运算

进制精度加法运算_工学_高等教育_教育专区。;A4-1.asm ;二进制精度加法运算 STACK1 STACK1 SEGMENT STACK DW 256 DUP(?) ENDS DATA SEGMENT MES1 DB...


高精度计算(加法)

而是逢万进位(mod 10000; div 10000); (2)输出时:最高位直接输出,其余各位...C语言-进制转化及高精度... 25页 免费 Pascal高精度运算(加法篇... 19页...


Free Pascal——数学问题(2)

与之前的高精度加法, 高精度减法有区别 加法对于 c>0 只需处理一次(加法的 ...7.加大进制:使用万进制; const maxn=9999; lm=25; type arr=array[1..lm...


同一进制数的加法

同一进制数的加法_物理_自然科学_专业资料。解决同一进制数的加法,比如两个八进制数相加,结果用八进制表示!有关同一进制数的几个数之间的加法的推广引言:在学习...


多精度

(三)多精度算法。 1、多精度加法(多对多加法)...它使用二进制计算(0 和 1),所谓的口决只是有一个...(设两个乘数的位数都是 N) ,做个 10 万位的二...


高精度大全

二:提高篇综合运算 1:Ural1013 N 位 K 进制(高精度加法+高精度乘法) 我们定义一个合法的 K 进制数为一个不含连续两个零的 K 进制数。 例如: 1010230 是...


高精度练习之加法

高精度练习之除法 高精度练习之乘法 高精度练习之减法1/2 相关文档推荐 ...加法练习 4页 免费高​精​度​练​习​之​加​法 暂无评价|0...

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