求兩個超長數字字串的和【python】『123…0』
『333…9』
如:『12345』
『67890』
分析思路:求:求兩個超長數字字串的和
1:先把兩個字串強制轉換成數字
2:把兩個數字相加即可得到加和
str1 =
'1233333336666666663345'
str2 =
'678333366666666666666633390'
num1 =
0num2 =
0for i in
range
(len
(str1)):
#1先把字串強制轉換成數字
values =
int(str1[i]
) num1 += values *(10
**(len(str1)-1
-i))
#由於range()為左開右閉
print
('第乙個字串數字為:%i'
%num1)
for i in
range
(len
(str2)):
#1 values =
int(str2[i]
) num2 += values *(10
**(len(str2)-1
-i))
print
('第二個字串數字為:%i'
%num2)
#2把兩個數字相加即可得到加和
sum= num1 + num2
print
('兩個字串數字加和為:%i'
%sum
)
結果:
第乙個字串數字為:1233333336666666663345注:**缺點第二個字串數字為:678333366666666666666633390
兩個字串數字加和為:678334600000003333333296735
字串長度超出一定數量,數字相加會出現溢位,好的演算法後續補充!!!
發現了兩個有關數字字串的處理函式
排序 time limit 1000msmemory limit 32768kb64bit io format i64d i64u submit status practice hdu 1106 description 輸入一行數字,如果我們把這行數字中的 5 都看成空格,那麼就得到一行用空格分割的...
用隨機字串和隨機數字字串
用隨機字串和隨機數字字串,很好用,我貼個 獲得數字形式的隨機字串 數字形式的隨機字串 public static string getnumberrandom 生成標準8位包含特殊字元的隨機字串 包含特殊字元的隨機字串 public static string getrandomstringall ...
滴滴筆試演算法題 兩個數字字串相加
題目釋義 給定兩個字串s1 s2,字串都是由0 9數字組成,需要將s1數字與s2數字進行相加,並返回相加後的資料結果s3。要求不能使用integer.parseint bigdecimal等操作,字元長度使用integer可能溢位。難度 簡單 測試用例1 s1 123 s2 234 計算結果s3 3...