演算法提高 高精度加法

2022-01-15 11:33:05 字數 1543 閱讀 5113

問題描述

在c/c++語言中,整型所能表示的範圍一般為-231到231(大約21億),即使long long型,一般也只能表示到-263到263。要想計算更加規模的數,就要用軟體來擴充套件了,比如用陣列或字串來模擬更多規模的數及共運算。

現在輸入兩個整數,請輸出它們的和。

輸入格式

兩行,每行乙個整數,每個整數不超過1000位

輸出格式

一行,兩個整數的和。

樣例輸入

15464315464465465

482321654151

樣例輸出

15464797786119616

資料規模和約定

每個整數不超過1000位

思路:用x陣列正序記錄兩個字串的各位之和,然後最後判斷如果 x[i] > 10

進製 x[i+1]++ ,最後還需要判斷999與1的情況如果存在即需要輸出的時候多輸出一位。

學習:

1.

2.c++的max函式可以在c語言中通過巨集定義來實現 #define max(a,b) a>b ? a : b

1 #include2 #include

3#define max(a,b) a>b ? a : b45

intmain()6;

8char str2[1001] = ;

9int x[1001] = ;

1011

gets(str1);

12gets(str2);

1314

int len1 =strlen(str1);

15int len2 =strlen(str2);

16int m =max(len1, len2);

1718

if (len1 >len2)

1924

for (int i = 1; i <= len2; i++)

2528}29

else

3035

for (int i = 1; i <= len1; i++)

3639}40

41for (int i = 1; i <= m; i++)

4248}49

50if (x[m + 1] > 0) //

如果出現999+1的情況 m++

5154

55for (int i = m; i >= 1; i--)

5659

return0;

60 }

演算法提高 高精度加法

問題描述 在c c 語言中,整型所能表示的範圍一般為 231到231 大約21億 即使long long型,一般也只能表示到 263到263。要想計算更加規模的數,就要用軟體來擴充套件了,比如用陣列或字串來模擬更多規模的數及共運算。現在輸入兩個整數,請輸出它們的和。輸入格式 兩行,每行乙個整數,每個...

演算法提高 高精度加法

問題描述 在c c 語言中,整型所能表示的範圍一般為 231到231 大約21億 即使long long型,一般也只能表示到 263到263。要想計算更加規模的數,就要用軟體來擴充套件了,比如用陣列或字串來模擬更多規模的數及共運算。現在輸入兩個整數,請輸出它們的和。輸入格式 兩行,每行乙個整數,每個...

演算法提高 高精度加法

問題描述 在c c 語言中,整型所能表示的範圍一般為 231到231 大約21億 即使long long型,一般也只能表示到 263到263。要想計算更加規模的數,就要用軟體來擴充套件了,比如用陣列或字串來模擬更多規模的數及共運算。現在輸入兩個整數,請輸出它們的和。輸入格式 兩行,每行乙個整數,每個...