大数加法 big number add
2013-12-27 21:07
1131 查看
问题起源于欧拉项目的问题11。要把1000个50位整数累加起来。字符串搞起。
n = 55 def add(a, b): while len(a) < n: a = "0" + a while len(b) < n: b = "0" + b sum = [] for _ in range(0, n): sum.append(0) i = n-1 while i > 0: s = int(a[i]) + int(b[i]) + sum[i] if s < 10: sum[i] = s else: sum[i] = s - 10 sum[i-1] = 1 + sum[i-1] i -= 1 result = '' for i in range(0, n): result += str(sum[i]) return result #a = "37107287533902102798797998220837590246510135740250" #b = "46376937677490009712648124896970078050417018260538" #print add(a,b) final = "" for _ in range(0, n): final += "0" f1 = file('input.txt') while 1: line = f1.readline() if len(line) == 0: break line = line.strip("\r\n") final = add(line , final) print len(final) print final print final.strip("0") print final.strip("0")[0:10] f1.close()
相关文章推荐
- 要求实现方法public String addTwoBigNumber(String s1,string s2) 大数相加,注意处理异常
- BigNumberPlus大数加法
- 大数big number的加减运算
- HDU1212:Big Number(大数求模)
- hdu1212 Big Number &第六届山东省赛Single Round Math (同余定理,大数取模)
- 支持无限精度无限大数的类BigNumber实现
- hdoj1212(大数取余)Big Number
- hdu1212 Big Number &第六届山东省赛Single Round Math (同余定理,大数取模)
- c#实现大数相加(字符串) string AddBig(string a, string b)
- 1005 大数加法 ——51Nod(java BigInteger)
- 求大数阶乘的位数(ACM Big Number问题)
- Big Number-大数运算
- Big Number Add
- 简单的大数加法
- 用数组模拟大数加法模板
- Ch2-4:add reverse 1 digit format number in linked list
- HDOJ2055_An easy problem(大数加法)
- 利用BigInteger计算Fibonacci数列,及解决大数阶乘
- zoj 1828 Fibonacci Numbers(大数加法= =)
- 大数加法