在某些情况下,需要处理很大的整数,它无法在计算机中精确的表述和处理。若要精确的表示大整数,就必须使用软件的方法来实现大整数的运算。最常用的解决大整数运算的方法是使用一个二重循环,其算法时间复杂度为O(m*n)(其中m,n分别为两个大整数的长度);而选用分治方法则可..
分类:
其他好文 时间:
2014-09-15 03:23:48
阅读次数:
280
算法思想灰常重要,常见的用到分治思想的算法包括快速排序,归并,二分搜搜,大整数乘法等(参考 http://blog.csdn.net/com_stu_zhang/article/details/7233761,归纳很到位)简单用归并对一个数组排序 思路: 简单来说对一个数组,只要他的左右两部分都是有...
分类:
其他好文 时间:
2014-07-31 23:35:50
阅读次数:
381
题目:输入两个数字字符串,如“1234567890”和“987654321”,返回二者相乘的结果字符串,如本例返回为“1219326311126352690”。来源:某500强企业面试题目思路:从尾部到头部,对两个字串的每个数字分别相乘,并放入结果字符串相应的位置。#include "stdio.h...
分类:
编程语言 时间:
2014-07-27 22:03:29
阅读次数:
245
def recursive_multiply(x, y, n): if n==1: return x*y else: a = x/pow(10, n/2) b = x-a*pow(10, n/2) c = y/pow(10, n/2) d = y-c*pow(10, n/2) ac = re...
分类:
编程语言 时间:
2014-07-01 12:20:43
阅读次数:
273
由于python具有无限精度的int类型,所以用python实现大整数乘法是没意义的,但是思想是一样的。利用的规律是:第一个数的第i位和第二个数大第j位相乘,一定累加到结果的第i+j位上,这里是从0位置开始算的。代码如下:
import sys
def list2str(li):
while li[0]==0:
del li[0]
res=''
for i in li:
res+...
分类:
编程语言 时间:
2014-05-07 23:13:21
阅读次数:
453