大整数乘法
来源:互联网 发布:淘宝达人后台在哪里 编辑:程序博客网 时间:2024/06/01 22:22
简单的大整数乘法为模拟手动乘法计算方式:
最终结果的位数为m+n-1(无进位)或者m+n(有进位),因此可以用一个长度为m+n的数组保存答案。
def mul(s1, s2): if not s1 or not s2: return '' s1_length = len(s1) s2_length = len(s2) result_length = s1_length + s2_length result = [0] * result_length for i in range(s1_length): k = result_length - i - 1 for j in xrange(s2_length): result[k] += int(s1[s1_length-1-i]) * int(s2[s2_length-1-j]) k -= 1 carry = 0 for i in xrange(result_length): number = result[result_length-1-i] + carry result[result_length-1-i] = number % 10 carry = number / 10 if result[0] == 0: return ''.join([str(_) for _ in result[1:]]) return ''.join([str(_) for _ in result])if __name__ == '__main__': s1, s2 = raw_input().split() print mul(s1, s2)
阅读全文
0 0
- 大整数乘法
- C++大整数乘法
- 大整数FFT乘法
- 大整数乘法
- 大整数乘法
- 大整数乘法
- 大整数乘法
- 大整数乘法。。。。。
- 大整数乘法
- 大整数乘法
- // //大整数乘法
- 大整数乘法
- 大整数乘法算法
- 【算法】 大整数乘法
- 大整数乘法
- 大整数乘法
- 大整数乘法。
- 大整数乘法
- 通过webservice发布静态页面
- B
- XAMPP里tomcat启动报错:Make sure you have Java JDK or JRE installed and the required ports are free
- 开始我的图像处理学习
- Leetcode 89: Java移位运算符作指数的开方
- 大整数乘法
- 蛇形矩阵
- 最大公因数-欧几里得算法
- SQL语句
- BZOJ1045(HAOI2008)[糖果传递]&&BZOJ3293(Cqoi2011)[分金币]--中位数
- TotoiseSVN的上手教程
- python基础知识三——try与except处理异常语句
- 不同的10月英语
- [Unity]创建攻击Slot系统