高精度加法算法实现:C++与语言代码示例.pdfVIP

  • 0
  • 0
  • 约3.75千字
  • 约 3页
  • 2026-02-04 发布于北京
  • 举报

高精度加法算法实现:C++与语言代码示例.pdf

C++

#includecstdio

#includeiostream

#includecstring

usingnamespacestd;

inta[401],alen,b[401],blen,c[400],clen;

charst[400];

intmain()

{

inti,j,n,len;

scanf(%s,st);

alen=strlen(st);

for(i=1;i=alen;i++)

a[i]=st[alen-i]-48;

scanf(%s,st);

blen=strlen(st);

for(i=1;i=blen;i++)

b[i]=st[blen-i]-48;

if(alenblen)clen=alen;

elseclen=blen;

for(i=1;i=clen;i++)

c[i]=a[i]+b[i];

for(i=1;i=clen;i++)

{

if(c[i]=10)

{

c[i+1]=c[i+1]+c[i]/10;

c[i]=c[i]%10;

}

}

if(c[clen+1]0)clen++;

for(i=clen;i=1;i--)

{

printf(%d,c[i]);

}

printf(\n);

return0;

}

C

#includestdio.h

#includestring.h

#includestdlib.h

voidf(chara[],charb[])

{

intw=200,i,j,la,lb;

la=strlen(a);lb=strlen(b);

charc[200];

for(i=la;iw;i++)a[i]=48;

for(i=lb;iw;i++)b[i]=48;

a[w-1]=0;b[w-1]=0;

for(i=0;ila;i++)c[i]=a[i];

for(i=0;iw-1-la;i++)a[i]=48;j=0;

for(i=w-1-la;iw-1;i++){a[i]=c[j];j++;}

for(i=0;ilb;i++)c[i]=b[i];

for(i=0;iw-1-lb;i++)b[i]=48;j=0;

for(i=w-1-lb;iw-1;i++){b[i]=c[j];j++;}

for(i=w;i=0;i--)

{

j=a[i]+b[i]-96;

if(j9)a[i-1]=a[i-1]+j/10;

c[i]=j%10+48;

}

c[w-1]=0;

for(i=0;iw;i++)if(c[i]!=0)break;

for(;iw-1;i++)printf(%c,c[i]);printf(\n);

}

intmain()

{

chara[200],b[200];gets(a);gets(b);

f(a,b);

return0;

}

JAVA

importjava.io.Buffere

文档评论(0)

1亿VIP精品文档

相关文档