《信息学奥赛一本通算法基本算法:高精度计算》由会员分享,可在线阅读,更多相关《信息学奥赛一本通算法基本算法:高精度计算(5页珍藏版)》请在金锄头文库上搜索。
1、信息学奥赛一本通算法(C+版)基础算法:高精度计1高精度加法(大位相加)#include using namespace std;int main()char a1100,b1100;int a100,b100,c100;/a,b,c 分别存储加数,加数,结果int lena,lenb,lenc,x,i;memset(a,0,sizeof(a);数组 a 清零 memset(b,0,sizeof(b);数组 b 清零 memset(c,0,sizeof(c);数组 c 清零 /gets(a1);/gets(b1); /getchar();while(scanf(%s%s,&a1,&b1)!=E
2、OF)lena=strlen(a1);lenb=strlen(b1);for(i=0;i=lena;i+)alena-i=a1i-0;将数串al转化为数组a,并倒序存储 /ai=a1lena-i-1-48;for(i=0;i=lenb;i+)blenb-i=b1i-0;将数串al转化为数组a,并倒序存储 /bi=b1lenb-i-1-48;lenc=1;/lenc 表示第几位x=0; /x 是进位 while(lenc=lena|lenc=1;i-) coutci;coutendl;return 0;#inc-ude Abits、stdc+.hv using namespace std; in
3、t maino宀char m256LnlN356b2N356b int aN356L2256L2256一; int -enaknbknc; memset(aosizeof(a);memset(bosizeof(b);memset(cosizeof(c);whi-e(scanf(=%s%s=Q9nlQ9n2)ITEOF)、nlsM 龙逬輕磐宀if(str-en(nlAstr-en(n2)-(str-en(nlTHstr-en(n2)p?p?strcmp(nlb2A0)、strcmp()甘+苹册氏8磐、味nlHHr!2祢回0 ; nlvn2耳、鬲回1E礴博nln2耳、鬲回礴廿 qnil獄 V4K和WB(O丄二 0u)(luTqu 二 q (+ + Kqu2HVK0io4廿 p 翱软(u7UMCbls u“u)Acbls s u sgsssI-Iu sa+wnn直宦总、二二 q 丄二 P 丄Vot汕t舸亘恤叵7矗、溶0、01-|三p)sqvus七)(qu-H V 一-pu-H vz/vlenc二i;while(clenc =O) &(lenc1)lenc-;/最高位的0不输出 for(i=lenc;i = 1;i-)coutci;输出结果 coutendl;return 0;