C 實現大數相加

2021-09-09 02:29:37 字數 1083 閱讀 6700

在c#中,我們經常需要表示整數。但是,c#的基本資料型別中,最大的long也只能表示-9,223,372,036,854,775,808 到 9,223,372,036,854,775,807之間的數。

如果我們需要表示更大的數,就需要用到一定的演算法來完成。

這次,我給大家分享一下c##的大數運算之加法。

**只考慮了正數的整數加法。

1

using

system;

2using

system.collections.generic;

3using

system.linq;

4using

system.text;

5using

system.threading.tasks;67

namespace821

22static

string twobignumadd(string a, string

b)23

4142

//array集合用於儲存相加的和,所以長度最大也只會比最大的數長度長1,剛開始全部存0

43for (int i = 0; i <= (a.length > b.length ? a.length : b.length); i++)

4447

48//

從低位往高位每位開始相加,如果相加 >=10 則進1取餘

49for (int i = (a.length > b.length ? a.length : b.length) - 1; i >= 0; i--)

5056

57//

如果首位為0,則移除

58if (array[0] == 0)59

6263

//將集合轉換成字串返回

64 stringbuilder result = new

stringbuilder();

65for (int i = 0; i < array.count; i++)

6669

return

result.tostring();70}

71}72 }

用c 實現大數相加

題目描述 輸入 多行測試資料,每行包含兩個正整數a和b,a和b的範圍不會超過1000位 輸出 輸出a b的結果 樣例輸入 1 1 1000 2000樣例輸出 2 30001.首先定義兩個字串輸入,再定義兩個陣列,把陣列置零。開始遍歷,把字串逆序儲存到陣列裡面。比如123 17這樣,逆序存到陣列裡面就...

c語言實現大數相加

文章 兩個大數我們可以用陣列來儲存,然後在陣列中逐位進行相加,再判斷該位相加後是否需要進製,為了方便計算,我們將數字的低位放在陣列的前面,高位放在後面。捕獲.jpg include includeint main n2 10000 int result 10001 t1 10000 t2 10000...

c 大數相加

在實現簡單的加法時,我們大都會採用直接相加輸出結果,但是如果兩個數非常大,已經超出了c 基本資料型別的表示範圍時,該如何解決?c 幾種基本資料型別 int 整型 4位元組 範圍 2147483648 2147483647float 實型 單精度 4位元組 範圍 1.18 10 38 3.40 10 ...