但我們在做運算時有時會遇到一些無法用基本資料型別儲存的數,這時我們可以通過字串儲存我們要輸入的數,再通過陣列模擬運算,然後用陣列儲存我們的答案。
下面是具體**
#include
#include
#include
#include
#define n 1100
using
namespace std;
void
convert
(int a,
char
*b)//將字元轉換成數字並用陣列儲存
intgetmax
(int a,
int b)
void
getresult
(char
*a,char
*b,int countt)
else
//較小的陣列一定要記得初始化,不然超出的部分對應的不一定為0
convert
(x,a)
;convert
(y,b)
;int m=
getmax
(strlen
(a),
strlen
(b))
;//取最大的那個數作為可能的輸出的最大位數
int jw=0;
for(
int i=
0; i(jw==1)
//如果進製最後為1,說明最高位要進1
else
//否則不進製
}int
main()
return0;
}
大數加法 HDU 1002
一般的加法只要int型別的兩數直接相加即可,大一點的數可以設為long long型別,而超過長整型的數則屬於大數問題了,大數加法其實也比較簡單,利用陣列實現就可以啦 主要思想如下 1 將大數以字串形式輸入,並轉化為陣列形式倒序儲存 2 將兩陣列對應位相加,位數滿10進1 3 判斷最高位是否為0,輸出...
hdu 1002感受 (大數加法)
hdu1002沒什麼難度就是一道大數加法運算,起初 wa了很多次是進製時,沒考慮清楚。後面有pe了,還是題目做的少。學長說位數不超過1000,要開2000的陣列,這點下次注意點。還有就是幾個特殊樣例 0001 1000 0 0000 0000 9999 1 99900 00999 附上 includ...
hdu 1002大數加法
include includevoid daoxu int str,int n 定義乙個倒序陣列的函式,n為陣列中元素個數 void daoxu int str,int n else 找出最長數 for int i 0 i 0 j printf for maxline 0 maxline print...