1、加法:
//assume m is bigger than n.
char* add(char *a, char *b, int m, int
n) }
//將由純數字組成的結果轉換為字串,並去除首部可能還存在的零。
c[m + 1] = '/0'
;
for (int i = 0; i != m + 1; ++i)
c[i] += 0x30
;
if (c[0] == 0x30
)
for (int i = 0; c[i] != '
/0'; ++i)
c[i] = c[i + 1
];
//返回結果所在記憶體單元的首位址。
return
c;}
2、乘法:
// assume m is bigger than n.
char* mult(char *a, char *b, int m, int n)}}
// 將由純數字組成的結果轉換為字串,並去除首部可能還存在的零。
c[m + n] = '/0';
for (int i = 0; i != m + n; ++i)
c[i] += 0x30;
if (c[0] == 0x30)
for (int i = 0; c[i] != '/0'; ++i)
c[i] = c[i + 1];
// 返回結果所在記憶體單元的首位址。
return c;
}
大數問題 用字串解決大數相加和相乘
1 加法 assume m is bigger than n.char add char a,char b,int m,int n 將由純數字組成的結果轉換為字串,並去除首部可能還存在的零。c m 1 0 for int i 0 i m 1 i c i 0x30 if c 0 0x30 for in...
字串 大數相加
題目 定義兩個一維字元陣列a 20 b 20 表示兩個大正整數,定義c 50 表示a b的結果。輸入大數a和b的位數m n 3 m n 20 以字串形式分別輸入m位大數a和n位大數b,完成a b的計算,並以字元型資料儲存計算結果。因為是 大數 所以用int long long long都不行,需運用...
字串相加, 大數加法
題目描述 給定兩個字串形式的非負整數 num1 和num2 計算它們的和。注意 num1 和num2 的長度都小於 5100.num1 和num2 都只包含數字 0 9.num1 和num2 都不包含任何前導零。你不能使用任何內建 biginteger 庫,也不能直接將輸入的字串轉換為整數形式。思路...