大整數加法

2021-08-14 14:30:01 字數 1452 閱讀 9322

方法一:

#include 

#include

#include

#include

#include

#include

#include

#include

#include

#include

#define inf 0x3f3f3f3f

#define eps 1e-8

#define pi 3.1415

typedef

long

long ll;

using

namespace

std;

int main()

else

if(a1[i]!='0')

a[k]=0;

break;}}

for(int i=0; iif(b1[i]=='0'&&i==len2-1)

else

if(b1[i]!='0')

b[q]=0;

break;}}

len1=strlen(a);

len2=strlen(b);//將字元更長的放在上面

if(len1for(int i=0; i<900; i++)//初始化c陣列,c是儲存計算結果

c[900]=0;

for(int i=0; i//模擬豎式計算

else

if(c[i]-'0'+a[i]+b[i]-'0'-'0'>=10)

}for(int i=len2; iif(c[i]+a[i]-'0'-'0'>=10)

else

}if(c[len1]=='0')//處理末尾0

else c[len1+1]=0;

int len=strlen(c);

k=0;

for(int i=len-1; i>=0; i--)//將計算結果轉正

c1[k]=0;

printf("%s\n",c1);

}return

0;}

方法二

#include

using

namespace

std;

int x[250],y[250];

int main()

for(int i=0; i'0';

}//數字儲存;

for(int i=0; i//對位相加;

if(x[i]>=10)

//處理進製,只需考慮和大於等於十的情況;

}while(x[l]==0&&l>=1) //和有可能為0,也要輸出;

l--;//處理和的首位為0的情況:兩個加數開頭可以有0;

for(int i=l; i>=0; i--)

大整數加法

include include include include define debug void plus char char char int is valid char void reverse char int main int argc,char argv up loop 0 strcpy...

大整數加法

方法 這裡用了資料結構棧,實際上棧更方便實現高精度加法。步驟 1 第乙個資料加數按輸入順序 高位到低位 入棧1。此時棧頂為最低位 2 第二個資料加數按輸入順序 高位到低位 入棧2。此時棧頂為最低位 3 將棧1 棧2均pop出棧頂做加法,並考慮進製,結果入棧3,這時棧3正好是低位入棧。4 處理多餘的棧...

大整數加法

include include include define max len 200 int an1 max len 10 int an2 max len 10 char szline1 max len 10 char szline2 max len 10 int main bool bstarto...