大數問題 用字串解決大數相加和相乘

2021-09-06 14:16:14 字數 850 閱讀 5098

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 庫,也不能直接將輸入的字串轉換為整數形式。思路...